Python实现C-均值聚类分析:基于身高、体重等特征的学生样本数据集本文介绍如何使用Python对学生样本数据集进行C-均值聚类分析。数据集包含学生的身高、体重、50米成绩和肺活量四个特征。**步骤如下:*1. 数据准备: 读取Excel表格中的数据,并提取身高、体重、50米成绩和肺活量四个特征。2. 特征降维: 使用TSNE将四维特征降为二维,方便可视化。3. C-均值聚类: 对降维后的数据进行C-均值聚类分析,尝试不同的聚类数(2到20)。4. 结果分析: 计算每个聚类数对应的聚类准则函数值,并绘制表格和曲线图,分析不同聚类数对聚类结果的影响。代码实现:pythonimport pandas as pdfrom sklearn.cluster import KMeansfrom sklearn.manifold import TSNEimport matplotlib.pyplot as plt# 读取Excel数据data = pd.read_excel(r'D:/研究生作业/模式识别作业/2023年模式识别与机器学习数据集汇总1/XLS')# 提取四个特征features = data[['身高', '体重', '50米成绩', '肺活量']]# 使用TSNE将特征降为2维tsne = TSNE(n_components=2)features_tsne = tsne.fit_transform(features)# 定义聚类数范围num_clusters = range(2, 21)# 存储聚类准则函数值inertia = []# 执行聚类for n in num_clusters: kmeans = KMeans(n_clusters=n) kmeans.fit(features) inertia.append(kmeans.inertia_)# 绘制聚类准则函数值表格table = pd.DataFrame({'聚类数': num_clusters, '聚类准则函数值J': inertia})print(table)# 绘制相关曲线plt.plot(num_clusters, inertia)plt.xlabel('聚类数')plt.ylabel('聚类准则函数值J')plt.title('不同聚类数下的聚类准则函数值')plt.show()代码说明: 代码首先导入了所需的库,包括pandas用于数据处理,scikit-learn用于机器学习算法,matplotlib用于数据可视化。 接着,代码读取Excel文件并提取相关特征。 然后,使用TSNE将特征降维到二维。 接下来,代码使用循环遍历不同的聚类数,对降维后的数据进行C-均值聚类,并将每个聚类数对应的聚类准则函数值存储在列表中。 最后,代码将聚类数和对应的聚类准则函数值绘制成表格和曲线图,以便分析不同聚类数对聚类结果的影响。**结论:**通过分析聚类准则函数值随聚类数的变化趋势,可以选择最优的聚类数,从而对学生样本数据集进行有效分类。

Python实现C-均值聚类分析:基于身高、体重等特征的学生样本数据集

原文地址: https://www.cveoy.top/t/topic/SYn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录