最近在看sklearn的PCA,看到两篇帖子在pca = PCA(n_components= ?)的代码上有不同的解释。
第一篇说n_component是百分比,意味着多大比例的主成分被提取,例如pca = PCA(n_components= 0.95)是提取95%。
第二篇说 n_components 是降到几维,例如pca = PCA(n_components= 3)是降到三维。
所以两种说法哪个正确呢?或者说两者都是正确的?
第一篇
pca = PCA(n_components= 0.99)
pca.fit(X)
print(pca.explained_variance_ratio_) #降维后每一列方差占比
print(pca.explained_variance_) #降维后每一列方差
print(pca.n_components_) #降维后数据维度
这里很令人疑惑,第一行PCA(n_components= 0.99)代表提取主成分的99%,最有一行”pca.n_components_“竟然又代表降维后的维度??