KMeans算法中每个聚类中数值的数量是多少?

4

如何在Pandas中使用KMeans算法获取每个聚类中值的总数?

我尝试了以下方法:

kmeans_model = KMeans(n_clusters = 3, random_state = 1).fit(dataframe.iloc[:,:])
clusters = kmeans_model.labels_.count()

但是它不起作用。

我的期望输出应该是:

Clusters   Number_of_values
cluster_0  932
cluster_1  931
cluster_2  930

有什么办法可以在Pandas中实现这个功能吗?
我也尝试过这种方法,虽然有效,但如果有其他选项会更好。
from collections import Counter
print(Counter(kmeans_model.labels_))

感谢您的提前支持。
1个回答

12

你可以做到这一点

为数据框添加聚类编号列

kmeans_model = KMeans(n_clusters = 3, random_state = 1).fit(dataframe)

dataframe['kmean'] = kmeans_model.labels_

然后数它们

dataframe['kmean'].value_counts()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接