初级
USArrests数据集PCA双标图
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
import numpy as np
data = pd.read_csv('https://liangdaima.com/static/data/statistics/USArrests.csv', index_col=0)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(data)
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
loadings = pca.components_.T * np.sqrt(pca.explained_variance_)
plt.figure(figsize=(10, 8))
plt.scatter(X_pca[:, 0], X_pca[:, 1], alpha=0.7)
for i, col in enumerate(data.columns):
plt.arrow(0, 0, loadings[i, 0]*3, loadings[i, 1]*3, head_width=0.1, head_length=0.1, fc='red', ec='red')
plt.text(loadings[i, 0]*3.2, loadings[i, 1]*3.2, col, fontsize=12, color='red')
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.title('USArrests PCA双标图')
plt.grid(True)
plt.show()
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199