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

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条回答 默认 最新

  • 大米粥哥哥 2022-04-23 13:01
    关注

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

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料