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 时,我认为它不会有用。
我也阅读了文档,但无法解决该问题。
格雷茨
亚历克斯
很可能你的数据矩阵的形状是错误的:它似乎只有一列。这需要解决。使用调试器找出进入 TruncatedSVD
的 fit
方法的内容,或者解开管道并手动执行这些步骤。
至于错误消息,如果它是由于具有一列的矩阵引起的,那么这是有道理的:您最多只能拥有与特征一样多的组件。由于您使用的是 TruncatedSVD
,它还假设您不想要完整的功能 space,因此是严格的不等式。
嗨,我正在尝试 运行 编写 Kaggle 竞赛的脚本。
你可以看到整个脚本here
但是当我 运行 这个脚本时我得到一个 ValueError
ValueError: n_components must be < n_features; got 1 >= 1
有人可以告诉我此时如何找出有多少特征。 当我将 n_components 设置为 0 时,我认为它不会有用。 我也阅读了文档,但无法解决该问题。 格雷茨 亚历克斯
很可能你的数据矩阵的形状是错误的:它似乎只有一列。这需要解决。使用调试器找出进入 TruncatedSVD
的 fit
方法的内容,或者解开管道并手动执行这些步骤。
至于错误消息,如果它是由于具有一列的矩阵引起的,那么这是有道理的:您最多只能拥有与特征一样多的组件。由于您使用的是 TruncatedSVD
,它还假设您不想要完整的功能 space,因此是严格的不等式。