def default_dist_funcs(dist_funcs, feature_example):
"""
Fills in default distance metrics for fingerprint analyses
"""
for key in feature_example:
if key in dist_funcs:
pass
elif type(feature_example[key]) is str:
dist_funcs[key] = lambda a, b: int(a!=b)
elif isinstance(feature_example[key], (int, long, float)) or all([isinstance(i, (int, long, float)) for i in feature_example[key]]):
dist_funcs[key] = lambda a, b: np.linalg.norm(np.subtract(a,b))
return dist_funcs
评论列表
文章目录