pca主成分分析 svd python
时间: 2023-10-22 16:08:59 浏览: 119
PCA主成分分析是一种常用的线性降维方法之一,它通过线性投影将高维数据映射到低维空间,并保留了原始数据的特征。在Python中,可以使用scikit-learn库进行PCA主成分分析的实现。下面是一个使用PCA进行降维的Python代码示例:
```python
from sklearn.decomposition import PCA
# 假设X_scaled是经过标准化后的特征矩阵
pca = PCA(n_components=2)
pca.fit(X_scaled)
X_pca = pca.transform(X_scaled)
print(X_pca.shape)
```
上述代码中,我们设置主成分数量为2,然后使用`fit()`方法对经过标准化的特征矩阵进行训练,再使用`transform()`方法进行降维。最后打印出降维后数据的形状。
另外,通过绘制散点图可以对降维结果进行可视化:
```python
import matplotlib.pyplot as plt
# X2是降维后的数据,wine.target是数据的标签
X2 = X_pca[wine.target==0]
plt.scatter(X2[:,0], X2[:,1], c='r', s=60, edgecolor='k')
plt.legend(wine.target_names, loc='best')
plt.xlabel('component 1')
plt.ylabel('component 2')
plt.show()
```
在绘制散点图时,我们选择两个主成分作为x轴和y轴,然后根据数据的标签进行分类绘制。此外,还可以使用热图来展示原始特征与主成分之间的关系:
```python
plt.matshow(pca.components_, cmap='plasma')
plt.yticks([0,1], ['component 1', 'component 2'])
plt.colorbar()
plt.xticks(range(len(wine.feature_names)), wine.feature_names, rotation=60, ha='left')
plt.show()
```
热图中的每个方格代表一个原始特征与主成分之间的关系,正数表示正相关,负数表示负相关。
阅读全文