首页 文章

Scikit-learn(sklearn)PCA在稀疏矩阵上抛出类型错误

提问于
浏览
2

从sklearn RandomizedPCA的documentation中,稀疏矩阵被接受为输入 . 然而,当我用稀疏矩阵调用它时,我得到了一个 TypeError

> sklearn.__version__
'0.16.1'
> pca = RandomizedPCA(n_components=2)
> pca.fit(my_sparce_mat)
TypeError: A sparse matrix was passed, but dense data is required. Use X.toarray() to convert to a dense numpy array.

我使用 fit_transform 获得了相同的错误 .

有关如何使其工作的任何建议?

1 回答

  • 2

    答案是,使用Scikit-learn版本0.16.1(当前稳定版本)的稀疏矩阵不可能使用 RandomizedPCA . 我所指的文档是针对先前版本的Scikit-learn,因此应该使用当前稳定版本的替代函数 .

    一个可能的替代方案是 TruncatedSVD

相关问题