scikit文档解释说,fit_transform只能用于密集矩阵,但我有一个csr格式的稀疏矩阵,我想对它执行tsne。文档说要对稀疏矩阵使用fit方法,但这并不返回低维嵌入。
我很感谢我可以像在.todense()中一样使用这个问题方法,但是我的数据集非常大(0.4*10^6行和0.5*10^4列),所以内存中不适合使用。真的,用稀疏矩阵来做这件事是很好的。是否有一种方法可以使用scikit TSNE (或TSNE的任何其他python实现)来降低大型稀疏矩阵的维数,然后返回低维嵌入以进行可视化?
发布于 2017-09-26 13:10:00
从同一份文件中:
强烈建议使用另一种降维方法(例如,对于密集数据使用PCA或对于稀疏数据使用TruncatedSVD ),以便在特征数量非常多的情况下将维数减少到合理的数量(例如50)。这将抑制一些噪音,并加快计算样本之间的配对距离。
使用sklearn.decomposition.TruncatedSVD代替。
https://stackoverflow.com/questions/46427374
复制相似问题