KMeans聚类:将聚类结果添加至初始数据集
解决方法
嘿,这个需求很常见,我来一步步帮你搞定:
首先,你训练好的KMeans模型有个实用的属性labels_,它会返回每条数据对应的聚类标签,但要注意——默认标签是从0开始计数的(也就是0到5,对应你设置的6个簇)。而你需要的是1到6的数字标识,所以只需要给这个结果加1就能转换过来。
具体代码实现
你可以直接通过以下代码给df_1新增列:
# 把聚类标签从0-5转换为1-6,再添加到df_1中 df_1['new'] = kmeans.labels_ + 1
额外提醒
- 你之前写的
df_1("new")是错误写法,Python中DataFrame的列访问/新增需要用方括号[],不是圆括号。 - 要是想验证结果是否正确,可以用下面的代码查看每个簇的样本数量:
print(df_1['new'].value_counts())
运行后你会看到1到6每个数字对应的样本数,确认聚类标签已经正确添加。
内容的提问来源于stack exchange,提问作者Mayya Lihovodov
相关产品推荐
相关产品推荐

