LRJ-jonas 2022-04-23 11:45 采纳率: 37.5%
浏览 767
已结题

pca = PCA(n_components= n) 其中n是主成分比例,还是降到几维?

最近在看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_“竟然又代表降维后的维度??

  • 写回答

2条回答 默认 最新

  • das白 2022-04-23 13:01
    关注

    都正确. 如果是浮点数就表示保留的比例
    详情可以看官方文档或者源码

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月1日
  • 已采纳回答 4月23日
  • 创建了问题 4月23日