首页 > 解决方案 > 在 KMeans 算法中获取每个集群中的值的数量

问题描述

如何在 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_))

提前致谢。

标签: pythonpandasscikit-learncluster-analysisk-means

解决方案


你可以这样做

将集群编号列添加到数据框中

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

dataframe['kmean'] = kmeans_model.labels_

然后数他们

dataframe['kmean'].value_counts()

推荐阅读