找到从m * n维矩阵到点的欧几里得距离

时间:2018-07-25 10:43:09

标签: python-3.x cluster-analysis euclidean-distance

我正在研究集群问题。在某些情况下,我有以下三个聚类中心,并且我想根据另一个m * n维矩阵从这三个聚类中心计算出欧式距离。如果有人可以指导我完成这一点,将非常有帮助。

kmeans.cluster_centers_
Out[99]: 
array([[-2.23020213,  0.35654288],
       [ 7.69370352,  1.72991757],
       [ 0.92519202, -0.29218753]])
matrix
Out[100]: 
array([[ 0.11650485,  0.11650485,  0.11650485,  0.11650485,  0.11650485,
         0.11650485],
       [ 0.11650485,  0.18446602,  0.18446602,  0.2815534 ,  0.37864078,
         0.37864078],
       [ 0.21359223,  0.21359223,  0.21359223,  0.21359223,  0.29708738,
         0.35533981],
       ..., 
       [ 0.2640625 ,  0.2734375 ,  0.30546875,  0.31953125,  0.31953125,
         0.31953125],
       [ 1.        ,  1.        ,  1.        ,  1.        ,  1.        ,
         1.        ],
       [ 0.5       ,  0.5       ,  0.5       ,  0.5       ,  0.5       ,
         0.5       ]])

我想用Python做到这一点。我已经将sklearn用于集群。

1 个答案:

答案 0 :(得分:0)

欧几里德距离是在固定长度d的向量上定义的。

即它是一个函数R ^ d x R ^ d-> R

所以无论您想做什么-这都不是通常的欧几里德距离。您似乎有k = 3个具有d = 2坐标的聚类中心,但是您的矩阵具有不兼容的形状,无法以明显的方式解释为2 d个向量。