我发现了K-medods的this实现,我决定在我的代码中尝试一下。在
我的原始数据集是一个21x6矩阵。在
要生成我使用的距离矩阵:
import scipy.spatial.distance as ssd
distanceMatrix = ssd.squareform(ssd.pdist(matr, 'cosine'))
然后,我决定了一些集群:
^{pr2}$最后:
clusters, medoids = self.cluster(distanceMatrix,clusters)
print(clusters)
print(medoids)
对于给定的输入,我得到以下输出:
[12 12 12 12 12 12 12 7 7 7 7 11 12 12 12 12 12 12 11 12 12]
[12 7 11]
当我期望一个类似于sklearn.cluster.KMeans的输出时,我在矩阵中的每个点都有一个标签。 如果我想使用结果分散簇元素,比如下面的图片(我使用k均值),我应该如何处理这种输出?
k-medoid使用数据点作为中心,因此
print(medoids)
将为您提供输入数据集中的中心索引,print(clusters)
将给出数据点属于哪个组。图中的星星是数据集[12]、数据集[11]和数据集[7]
相关问题 更多 >
编程相关推荐