Python实现C-均值聚类分析与PCA降维:男生女生身高体重等特征聚类

本文介绍如何使用Python对Excel表格中的男生女生样本数据进行聚类分析。我们首先使用PCA主成分分析将身高、体重、50米成绩和肺活量四个特征降维至二维,然后使用C-均值聚类算法进行聚类分析。

**以下是完整的Python代码:**pythonimport pandas as pdfrom sklearn.cluster import KMeansfrom sklearn.decomposition import PCAimport matplotlib.pyplot as plt

读取Excel数据data = pd.read_excel(r'D:\研究生作业\模式识别作业\2023年模式识别与机器学习数据集汇总1\XLS')

提取四个特征features = data[['身高', '体重', '50米成绩', '肺活量']]

使用PCA将特征降为2维pca = PCA(n_components=2)features_pca = pca.fit_transform(features)

定义聚类数num_clusters = 2

执行聚类kmeans = KMeans(n_clusters=num_clusters)kmeans.fit(features_pca)labels = kmeans.labels_centers = kmeans.cluster_centers_

绘制降维结果plt.scatter(features_pca[:, 0], features_pca[:, 1], c=labels)plt.scatter(centers[:, 0], centers[:, 1], marker='X', c='red')plt.title('PCA降维结果')plt.xlabel('主成分1')plt.ylabel('主成分2')plt.show()

代码解读:

  1. 导入必要的库: 包括pandas用于数据处理,sklearn用于机器学习算法,matplotlib用于数据可视化。2. 读取Excel数据: 使用pd.read_excel()函数读取指定路径的Excel文件。3. 提取特征: 从数据集中提取'身高'、'体重'、'50米成绩'和'肺活量'四个特征。4. PCA降维: 使用PCA(n_components=2)将特征降至二维。5. C-均值聚类: 使用KMeans(n_clusters=2)将数据分成两类。6. 可视化结果: 使用plt.scatter()函数绘制降维后的数据点,并用不同颜色区分不同的类别。聚类中心使用红色的'X'标记。

请确保您已安装以下Python库:

  • pandas* scikit-learn* matplotlib

运行代码后,您将获得一个散点图,显示降维后的数据以及聚类结果。这将有助于您分析男生女生样本在身高、体重、50米成绩和肺活量方面的特征分布。

Python实现C-均值聚类分析与PCA降维:男生女生身高体重等特征聚类

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

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