怎么解决人工智能PCA降维后的报错问题

本篇内容主要讲解“怎么解决人工智能PCA降维后的报错问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决人工智能PCA降维后的报错问题”吧!

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

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

怎么解决人工智能PCA降维后的报错问题

Answer:

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

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

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

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

怎么解决人工智能PCA降维后的报错问题

到此,相信大家对“怎么解决人工智能PCA降维后的报错问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!