gpt4 book ai didi

python - 如何在sklearn中打印聚类结果

转载 作者:太空狗 更新时间:2023-10-29 18:21:07 24 4
gpt4 key购买 nike

我有一个稀疏矩阵

from scipy.sparse import *
M = csr_matrix((data_np, (rows_np, columns_np)));

然后我就这样进行聚类

from sklearn.cluster import KMeans
km = KMeans(n_clusters=n, init='random', max_iter=100, n_init=1, verbose=1)
km.fit(M)

我的问题非常菜鸟:如何在没有任何额外信息的情况下打印聚类结果。我不关心绘图或距离。我只需要那样的簇行

Cluster 1
row 1
row 2
row 3

Cluster 2
row 4
row 20
row 1000
...

我怎样才能得到它?不好意思问这个问题。

最佳答案

是时候帮助自己了。之后

km.fit(M)

我们跑

labels = km.predict(M)

返回标签,numpy.ndarray。此数组中的元素数等于行数。每个元素表示一行属于该簇。例如:如果第一个元素是 5,则表示第 1 行属于第 5 个簇。让我们把我们的行放在这样的列表字典中 {cluster_number:[row1, row2, row3], ...}

# in row_dict we store actual meanings of rows, in my case it's russian words
clusters = {}
n = 0
for item in labels:
if item in clusters:
clusters[item].append(row_dict[n])
else:
clusters[item] = [row_dict[n]]
n +=1

并打印结果

for item in clusters:
print "Cluster ", item
for i in clusters[item]:
print i

关于python - 如何在sklearn中打印聚类结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com