python中二进制数据距离矩阵的计算

2024-10-01 09:35:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python执行层次聚类分析。我的变量是二进制的,所以我想知道如何计算二元欧几里德距离。根据文献,这种距离度量与聚类技术相结合是可能的。在

Choi, S. S., Cha, S. H., & Tappert, C. C. (2010). A survey of binary similarity and distance measures. Journal of Systemics, Cybernetics and Informatics, 8(1), 43-48.

我使用的是scipy.spatial.distance.pdist(X, metric='euclidean'),但是这个函数对非二进制数据使用欧几里德距离。在

有没有python库来计算基于二进制欧几里德距离度量的距离矩阵?在


Tags: andof距离度量二进制聚类文献survey
2条回答

你引用的论文有一个公式,它只是一种计算二进制数据的标准欧几里德距离的更快的方法。在这种情况下,scipy方法可以正常工作。您是否希望使用不同的距离,或者您的数据是否格式化为pdist()无法在其本机上工作?在

解决方案1-numpy

from numpy import linalg, array

M1 = [[1, 1], [0, 1]]
M2 = [[0, 1], [1, 1]]

print(linalg.norm(array(M1) - array(M2)))

解决方案2-定制

^{pr2}$

相关问题 更多 >