如何解决“ K-均值”聚类分析
我想获取平均值,最小值,最大值之类的值。标准开发人员对于使用k均值方法计算出的每组聚类。下面的代码正确吗?
import pandas as pd
from sklearn.cluster import KMeans
dataset = pd.read_csv("C:/Users/../cardio_train_py.csv",sep=';')
clusterDB_1 = dataset[['Age','BMI','cardio']].copy()
kmeans = KMeans(n_clusters=8).fit(clusterDB_1)
X=[0,1,2,3,4,5,6,7]
print('Age mean() for each cluster')
for x in X:
check = clusterDB_1[kmeans.labels_ == x]
print(check['Age'].mean())
print('BMI mean() for each cluster')
for x in X:
check = clusterDB_1[kmeans.labels_ == x]
print(check['BMI'].mean())
print('cardio == 0 count() for each cluster')
for x in X:
check = clusterDB_1[kmeans.labels_ == x]
print(len(check[check['cardio'] == 1]))
我问是因为获得的值(例如Age和BMI的平均值以及有氧运动计数== 0)与Statistica中获得的值不同(照片显示了程序Statistica results的结果) 以下是BMI(Python计算)的结果
24.468587736260996
24.047855933307282
30.548865468674116
31.98410463004993
32.89129084635681
166.57357142857146
41.97845737483085
24.16813400017246
这是我的数据库=> https://www.easypaste.org/file/JcyGhA8Y/cardio.train.py.csv?lang=pl
感谢所有帮助和提示:)
解决方法
以下内容将在一行中完成您想要的操作:
clusterDB_1.groupby(kmeans.labels_).mean()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。