You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kmeans聚类中如何为各簇质心坐标添加对应簇标签

实现方法

scikit-learn的KMeans模型输出的cluster_centers_数组有固定顺序规则:数组第i行的质心,就对应标签值为i的簇,和fit_predict返回的样本簇标签取值完全对齐,不需要额外做距离匹配计算,直接按索引新增簇编号列即可。

对应修改代码如下:

a = kmeans_model.cluster_centers_
df_Centroid = pd.DataFrame(a,columns=['x','y'])
# 新增簇编号列,默认簇编号从0开始,和kmeans_predict的标签值完全对应
df_Centroid['cluster_id'] = df_Centroid.index

如果需要簇编号从1开始计数,把新增列的代码替换为:

df_Centroid['cluster_id'] = df_Centroid.index + 1

可以用如下方式做结果校验:

# 取簇标签为0的所有样本计算坐标均值,和对应质心坐标完全一致
print("簇0样本均值:", y[kmeans_predict == 0].mean(axis=0))
print("簇0质心坐标:", df_Centroid[df_Centroid['cluster_id'] == 0][['x','y']].values)

内容的提问来源于stack exchange,提问作者user13468392

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 20:31:02