为了账号安全,请及时绑定邮箱和手机立即绑定

PCA降维 维度 样本数 feature数

问题:PCA降维后的feature数如果少于样本数,为什么会报错
把n_components一旦改为超过230后,会有截图中的错误,即:

ValueError: n_components=250 must be between 0 and min(n_samples, n_features)=230 with svd_solver='full'

图片描述
Answer:

PCA降维实现的依旧是对features的减少,而不是样本数,这个你要记住。因此降维之后的样本数量是不变的,feature数量会变少。

为什么pca降维后feature数量多余样本数量会报错?这是算法本身决定的,要求降维后的feature数量少于样本数:

思考pca降维的原理,如果要降到n维,那就需要构建一个n维德投影空间,而这个投影空间是要通过n+1个样本数量决定的,如果样本数量太少,那就无法得到一个有效的投影空间。举个最简单的例子:

把数据点投影到一条直线上,理解为投影到一维空间,那就需要有两个或两个以上的点,这样才能确定一条直线,使样本到直线德距离之和最小,如果只有一个点,那是有无数条直线的。因此需要样本数量大于一。

https://img1.sycdn.imooc.com//szimg/5e8a8df4099726c903420301.jpg
flare老师的人工智能实战课程“人工智能系统入门与综合提升 机器学习+深度学习+迁移学习”已上线,欢迎小伙伴们学习围观。本课程围绕人工智能核心知识点进行讲解,每个章节包含丰富实战案例,手把手带你利用AI工具解决生活、工作问题(股价预测、人脸识别、语言翻译、异常检测等等)。
另外,flare老师的免费课程“Python实现机器学习”学员人数近万,欢迎感兴趣的小伙伴学习围观。​

点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消