首页 文章

是否可以在大型稀疏矩阵上使用scikit TSNE?

提问于
浏览
1

scikit documentation解释 fit_transform 只能用于密集矩阵,但我有一个csr格式的稀疏矩阵,我想执行tsne . 文档说使用 fit 方法用于稀疏矩阵,但这不会返回低维嵌入 .

我很欣赏我可以使用 .todense() 中的 .todense() 方法,但我的数据集非常大(0.4 * 10 ^ 6行和0.5 * 10 ^ 4列),所以不适合内存 . 真的,使用稀疏矩阵做这件事会很好 . 有没有办法使用scikit TSNE(或TSNE的任何其他python实现)来减少大型稀疏矩阵的维数并返回低维嵌入然后可视化?

1 回答

  • 1

    从相同的文档:

    强烈建议使用另一种降维方法(例如,用于密集数据的PCA或用于稀疏数据的TruncatedSVD),如果特征的数量非常高,则将维数减少到合理的量(例如50) . 这将抑制一些噪声并加速样本之间成对距离的计算 .

    请改用sklearn.decomposition.TruncatedSVD .

相关问题