Python 3.x 主成分分析解释方差比的解释
我使用以下代码:Python 3.x 主成分分析解释方差比的解释,python-3.x,scikit-learn,pca,Python 3.x,Scikit Learn,Pca,我使用以下代码: # Fit PCA pca = PCA(n_components=3) pca.fit(data) # Plot plt.plot(range(0,3), pca.explained_variance_ratio_) plt.ylabel('Explained Variance') plt.xlabel('Principal Components') plt.title('Explained Variance Ratio') plt.show() pca.explained
# Fit PCA
pca = PCA(n_components=3)
pca.fit(data)
# Plot
plt.plot(range(0,3), pca.explained_variance_ratio_)
plt.ylabel('Explained Variance')
plt.xlabel('Principal Components')
plt.title('Explained Variance Ratio')
plt.show()
pca.explained_variance_ratio_
由此,我得到以下图表:
和阵列[0.92540219,0.06055593,0.01404188]
我不明白的是为什么它只显示了两个主成分?它是否应该是第一分量解释的信息的92.54%,而在图表中它应该小于20%?请帮我解决这个误解。它显示了所有三个组件。pca.explained_variance_ratio_uu的值在图形中的x轴0、1和2处绘制。 第一个值为0,0.92540219,第二个值为1,0.06055593,最后一个值为2,0.01404188。事实上,如前所述,解释的方差比返回每个选定组件解释的方差百分比。所以,它完全符合您的预期,您的图表显示了这一点 这样应该更清楚一点:
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(range(0,3), [0.92540219, 0.06055593, 0.01404188])
plt.ylabel('Explained Variance')
plt.xlabel('Principal Components')
plt.xticks(range(0,3),
["1st comp", "2nd comp", "3rd comp"], rotation=60)
plt.title('Explained Variance Ratio')
plt.show()