大型数据集的有效降维


12

我有一个具有〜1M行和〜500K稀疏特征的数据集。我想将维数减少到1K-5K密集特征的数量级。

sklearn.decomposition.PCA在稀疏数据上不起作用,我已经尝试过使用,sklearn.decomposition.TruncatedSVD但是很快就会遇到内存错误。在这种规模的有效尺寸缩减方面,我有哪些选择?

Answers:


11

您是否听说过均匀流形逼近和投影(UMAP)

UMAP(统一流形逼近和投影)是一种用于非线性降维的新颖流形学习技术。UMAP由基于黎曼几何和代数拓扑的理论框架构建而成。结果是适用于现实世界数据的实用的可伸缩算法。UMAP算法在可视化质量上与t-SNE竞争,并且可以说以优异的运行时性能保留了更多的全局结构。此外,如上所述的UMAP对嵌入尺寸没有计算限制,使其可用作用于机器学习的通用尺寸缩减技术。

检查他们的代码原始纸上的优缺点列表,它非常易于使用。

事实简介: UMAP可以处理大型数据集,并且比t-SNE更快,并且支持拟合稀疏矩阵数据,这与通用的降维技术t-SNE相反,这意味着它不仅可以用于可视化,而且还可以用于可视化。用于减少提供给其他机器学习模型的功能空间。

具体示例:我已经对该方法进行了基准测试,并将其与其他降维技术基准笔记本进行了比较,如果有兴趣快速浏览并快速入门。


2
(+1)-UMAP确实很棒!您可能需要重新格式化一下:中间的段落和后面的要点重复相同的信息。另外,您也可以引用它,因为它(或多或少)是从其网站上复制粘贴的。
n1k31t4

2
当然,我当然可以减少它,我只想在这里指出它们,而有些观点有些措辞。谢谢。无论如何,我喜欢UMAP。
TwinPenguins

1
感谢您的推荐!我知道它可以替代t-SNE进行可视化,但是没有意识到它对于降低整体尺寸也有好处。
timleathart '18

1

万一遇到这篇文章的人发现UMAP不够高效,以下是我遇到的其他一些更为有效的技术(但质量不高):

  • d × mdmsklearn.random_projection

  • mmsklearn.feature_extraction.FeatureHasher

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.