首页 > 解决方案 > 根据距离矩阵找出每个元素与质心之间的距离?

问题描述

我有一个距离矩阵(元素之间的成对距离),我想找到集合的质心并获得每个元素与质心之间的距离。

我试图使用 k-means 来做到这一点并设置n_clusters=1

km = KMeans(n_clusters=1)
km.fit(distance_matrix)
km.cluster_centers_

返回一个坐标列表,cluster_centers_但我不确定这是否代表每个元素与质心之间的距离。

如果 k-means 不是解决这个问题的正确方法,我应该使用哪种算法?

标签: pythonscikit-learndata-sciencek-meansdistance-matrix

解决方案


K-Means 不使用成对距离。所以距离矩阵对于这个算法是没有用的。K-Means 接受 2D 或更多数据样本。为您的数据集定义您的特征(维度)并相应地提供数据,构建矩阵,然后将矩阵传递给 K-Means,就像您在上面所做的那样。

km.cluster_centers_然后将返回您的质心列表。

您至少需要一些参考地来计算质心,至少需要计算点的坐标。然后,您甚至可以使用 k-means 计算各种集群中的质心。然后你可以计算每个点到质心的距离。如果没有给出点之间的坐标,距离矩阵在这里是没有用的。


推荐阅读