Scikit文档解释说fit_transform只能用于稠密矩阵,但我有一个以csr格式表示的稀疏矩阵,想在其上执行tsne。文档建议使用fit方法进行稀疏矩阵运算,但这不会返回低维嵌入。我知道可以像这个问题中那样使用.todense()方法,但我的数据集非常大(0.4*10^6行和0.5*10^4列),所以不能一次性装入内存。实际上,使用稀疏矩阵会更好。是否有一种方法可以使用Scikit TSNE(或任何其他Python TSNE实现)来降低大型稀疏矩阵的维数,并返回低维嵌入以进行可视化呢?
从同样的文档中可以看到: 如果特征数量非常高,强烈建议使用另一种降维方法(例如对于稠密数据使用PCA,对于稀疏数据使用TruncatedSVD)将维度减少到一个合理的数量(例如50)。这将消除一些噪声并加速样本之间的成对距离计算。 请使用sklearn.decomposition.TruncatedSVD代替。