pca主成分分析的应用案列长代码,并且显示结果及运行图
时间: 2025-01-02 08:45:13 浏览: 8
PCA (Principal Component Analysis) 主成分分析是一种常用的数据降维技术,常用于特征提取、数据可视化和预处理等场景。下面是一个使用Python的scikit-learn库进行PCA的简单例子,包括数据加载、PCA应用、结果展示和二维散点图绘制:
```python
import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# 加载示例数据集(这里假设我们有一个鸢尾花数据集)
iris = pd.read_csv('iris.csv') # 假设文件名,实际路径需要替换
X = iris.iloc[:, :-1] # 我们只取特征数据
y = iris['species'] # 目标变量
# 对数值数据标准化
X_scaled = (X - X.mean()) / X.std()
# 创建PCA对象并执行降维
pca = PCA(n_components=2) # 选择保留前两个主成分
principal Components = pca.fit_transform(X_scaled)
# 创建DataFrame存储主成分及其对应的原始类别
df_pca = pd.DataFrame(data=principal Components, columns=['PC1', 'PC2'])
df_pca['Species'] = y
# 绘制二维PCA散点图,区分不同物种
plt.figure(figsize=(8,6))
colors = ['r', 'g', 'b']
for species, color in zip(df_pca['Species'].unique(), colors):
df_species = df_pca[df_pca['Species'] == species]
plt.scatter(df_species['PC1'], df_species['PC2'], label=species, c=color)
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.legend()
plt.title('Iris dataset PCA Visualization')
plt.show()
```
在这个例子中,首先加载了一个包含四个特征的鸢尾花数据集,然后对数据进行标准化,接着通过PCA将高维数据降到二维,最后绘制了降维后的三维散点图,每个颜色表示一个物种。
阅读全文