首页 > 解决方案 > 聚类后​​如何计算每个聚类的均值

问题描述

在这里,我聚集了一个数据并获取了关于标签的数组:

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]]

谢谢您的回答。

标签: pythoncluster-analysis

解决方案


假设您正在使用K-means,您应该按照以下步骤操作 -

  1. 选择 K 个随机点(可以检查Elbow Method找到一个好的 K 值)

  2. 选择这K个随机点后,就可以计算出每个数据点到这K个聚类中心的欧几里德距离

  3. 将数据点分配给距离它最小的集群。

  4. 现在您可以清楚地告诉您K clusters,计算集群内元素的平均值,这将是您的new cluster center.

  5. 重复以上步骤,直到集群元素的成员身份没有显着变化。


推荐阅读