python - 聚类后如何计算每个聚类的均值
问题描述
在这里,我聚集了一个数据并获取了关于标签的数组:
player_playoffs_career_data_label = AgglomerativeClustering(n_clusters=50).fit_predict(player_playoffs_career_data)
print(player_playoffs_career_data_label)
[24 31 7 ... 30 30 30]
然后我如何计算每个集群的平均值(也许只是计算每个集群的中心点的平均值)。我的意思是如何选择每个集群的中心点并计算其平均值。
在那之后,我怎样才能得到关于出现在集群中具有最高平均值的点的行号的数量。
关于原始数据(player_playoffs_career_data):
[[ 17 106 38 ... 4 2 0]
[ 237 8851 5762 ... 1419 1050 4]
[ 15 415 195 ... 45 43 49]
...
[ 3 9 2 ... 1 0 0]
[ 15 67 26 ... 7 2 0]
[ 1 1 0 ... 0 0 0]]
谢谢您的回答。
解决方案
假设您正在使用K-means
,您应该按照以下步骤操作 -
选择 K 个随机点(可以检查Elbow Method找到一个好的 K 值)
选择这K个随机点后,就可以计算出每个数据点到这K个聚类中心的欧几里德距离
将数据点分配给距离它最小的集群。
现在您可以清楚地告诉您
K clusters
,计算集群内元素的平均值,这将是您的new cluster center
.重复以上步骤,直到集群元素的成员身份没有显着变化。
推荐阅读
- java - 故障排除 Spring 5 入门
- scala - Spark中预测给定hdfs数据集中记录数的充分方法
- for-loop - For循环奇怪的行为
- android - 每个活动开始后显示 SQLiteConstraintException 错误
- python - 在 Python 中使用重新编译来匹配单词
- sql-server - 将字符串值拆分为多列
- reactjs - 在类中反应 useEffect 定义
- firebase - 如何从 Firebase 数据库读取和写入数据?
- class - 在 .net3.5 或 .net4.7 上部署 Umbraco v4 站点
- javascript - Node.js:使用通用池时资源未释放