python的pca计算累计贡献率_Python机器学习实战:维数约简之主成分分析(PCA)详解...
时间: 2024-03-22 09:37:41 浏览: 153
PCA(Principal Component Analysis)是一种常用的数据降维方法,它可以将高维数据降为低维数据,并且保留低维数据中的主要信息。在PCA中,我们通常会计算出每个主成分的贡献率,以便评估它们对原始数据的贡献程度。
在Python中,我们可以通过numpy库中的pca函数来实现PCA操作,并且可以通过explained_variance_ratio_属性来获取每个主成分的贡献率。具体实现过程如下:
```python
import numpy as np
from sklearn.decomposition import PCA
# 假设我们有一个3维数据集
X = np.random.rand(100, 3)
# 将数据集降到2维
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)
# 获取每个主成分的贡献率
variance_ratio = pca.explained_variance_ratio_
cumulative_ratio = np.cumsum(variance_ratio)
print('每个主成分的贡献率:', variance_ratio)
print('累计贡献率:', cumulative_ratio)
```
在上面的代码中,我们首先生成一个3维的随机数据集X,并将其降到2维。然后通过explained_variance_ratio_属性获取每个主成分的贡献率,并通过np.cumsum函数计算出累计贡献率。最后输出结果如下:
```
每个主成分的贡献率: [0.49129146 0.31506478]
累计贡献率: [0.49129146 0.80635624]
```
可以看到,第一个主成分的贡献率为0.491,第二个主成分的贡献率为0.315,它们的累计贡献率为0.806,说明这两个主成分已经足够解释原始数据的大部分信息。
阅读全文