python - 在 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_))
提前致谢。
解决方案
你可以这样做
将集群编号列添加到数据框中
kmeans_model = KMeans(n_clusters = 3, random_state = 1).fit(dataframe)
dataframe['kmean'] = kmeans_model.labels_
然后数他们
dataframe['kmean'].value_counts()
推荐阅读
- python - 如果项目不是数字或大于特定值,如何从列表列表中删除列表?
- java - 由于“获取主题元数据时超时”,使用 Kafka 失败
- java - Facebook 受众网络广告未显示
- php - 使用正则表达式 PHP 搜索单词
- xslt - 按编辑的属性对元素进行排序
- python - Tf-Agents ParallelPyEnvironment 静默失败
- excel - 使用 VBA 和 Excel 的过程调用或参数无效(运行时错误 5)
- swiftui - SwiftUI:大写视图的本地化字符串,例如“文本”?
- android - SMS 检索器 API 问题
- dask - 如何将任务分配给 GPU 和 CPU Dask 工作人员?