python中主成分分析各变量关系的图形绘制代码
时间: 2024-09-28 15:08:03 浏览: 26
Python遥感数据主成分分析.pdf
5星 · 资源好评率100%
在Python中,我们可以使用sklearn库中的PCA工具进行主成分分析,并利用matplotlib等库绘制变量之间的关系。以下是一个简单的示例代码:
```python
import numpy as np
import pandas as pd
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# 假设你有一个DataFrame df,其中包含数值型数据
df = pd.read_csv('your_data.csv')
# 数据预处理(例如标准化或归一化)
df = (df - df.mean()) / df.std()
# 创建PCA对象并进行降维
pca = PCA(n_components=2) # 降低到2维
principal_components = pca.fit_transform(df)
# 将结果转换回DataFrame
principal_df = pd.DataFrame(data=principal_components, columns=['PC1', 'PC2'])
# 绘制二维散点图
plt.figure(figsize=(8,6))
plt.scatter(principal_df['PC1'], principal_df['PC2'])
for i, txt in enumerate(df.index):
plt.annotate(txt, (principal_components[i][0], principal_components[i][1]))
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.title('PCA Variables Relationship')
plt.show()
```
这个例子中,我们首先加载数据,然后标准化数据,接着应用PCA,得到两个主成分。最后,我们在二维坐标系上画出每个样本对应的主成分值,通过点的位置可以观察变量间的关系。每一行在图中的位置代表了该样本在主成分空间中的分布情况。
阅读全文