Sklearn TruncatedSVD() ValueError: n_components must be < n_features

Sklearn TruncatedSVD() ValueError: n_components must be < n_features

嗨,我正在尝试 运行 编写 Kaggle 竞赛的脚本。

你可以看到整个脚本here

但是当我 运行 这个脚本时我得到一个 ValueError

ValueError: n_components must be < n_features; got 1 >= 1

有人可以告诉我此时如何找出有多少特征。 当我将 n_components 设置为 0 时,我认为它不会有用。 我也阅读了文档,但无法解决该问题。 格雷茨 亚历克斯

很可能你的数据矩阵的形状是错误的:它似乎只有一列。这需要解决。使用调试器找出进入 TruncatedSVDfit 方法的内容,或者解开管道并手动执行这些步骤。

至于错误消息,如果它是由于具有一列的矩阵引起的,那么这是有道理的:您最多只能拥有与特征一样多的组件。由于您使用的是 TruncatedSVD,它还假设您不想要完整的功能 space,因此是严格的不等式。