用于交互式探索大规模 embedding 数据及其元数据的可视化工具,支持交叉过滤与搜索。
lmcinnes/umap
Python 库,实现 UMAP 非线性降维算法,可用于数据可视化和机器学习预处理。
- Star
- 8,288
- Fork
- 880
- 未关闭 Issue
- 539
- 最近提交
- 昨天
这是什么?
UMAP(Uniform Manifold Approximation and Projection)是一种降维算法,可以把高维数据投影到低维空间,常用于二维或三维可视化,作用与 t-SNE 类似。它也可以作为通用的降维步骤,用在聚类或其他机器学习任务之前。
该库遵循 scikit-learn 的 API 设计,可以直接调用 fit_transform,也能放进 sklearn 流水线中使用。主要参数包括控制局部与全局结构平衡的 n_neighbors、控制点之间紧密程度的 min_dist,以及支持余弦、相关等多种距离函数的 metric。此外还支持稀疏矩阵输入,并可通过 transform 将新数据点加入已有的嵌入结果。
除核心算法外,库中还包含用于绘图的 umap.plot 子包、基于神经网络训练的 Parametric UMAP(需安装 TensorFlow),以及额外保留局部密度信息的 densMAP。可通过 pip 或 conda-forge 安装。
核心功能
- 01提供与 scikit-learn 风格一致的 fit、transform 接口
- 02支持多种距离函数,包括余弦、相关等非度量距离
- 03可直接处理稀疏矩阵输入
- 04通过 y 参数支持有监督和半监督降维
- 05内置 umap.plot 绘图模块,并支持 densMAP 保留局部密度
适用场景
- 将词向量、单细胞数据等高维数据降到二维进行可视化
- 在运行 HDBSCAN 等聚类算法前进行降维
- 将 UMAP 作为预处理步骤接入 scikit-learn 流水线
快速上手
- 1
通过 pip 安装
pip install umap-learn - 2
通过 conda(conda-forge)安装
conda install -c conda-forge umap-learn - 3
在 Python 中导入 umap,然后调用 umap.UMAP().fit_transform(data)
使用前须知
- Parametric UMAP 需要额外安装 TensorFlow。
收录于专题
标签
常见问题
- umap 是什么?
- Python 库,实现 UMAP 非线性降维算法,可用于数据可视化和机器学习预处理。 UMAP(Uniform Manifold Approximation and Projection)是一种降维算法,可以把高维数据投影到低维空间,常用于二维或三维可视化,作用与 t-SNE 类似。它也可以作为通用的降维步骤,用在聚类或其他机器学习任务之前。
- umap 可以免费使用吗?用的什么许可证?
- umap 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- umap 还在维护吗?
- 活跃维护中。umap 最近一次提交是在 2026年11月6日。
- umap 适合用来做什么?
- 将词向量、单细胞数据等高维数据降到二维进行可视化 在运行 HDBSCAN 等聚类算法前进行降维 将 UMAP 作为预处理步骤接入 scikit-learn 流水线
- umap 怎么安装和运行?
- 通过 pip 安装: pip install umap-learn 通过 conda(conda-forge)安装: conda install -c conda-forge umap-learn 在 Python 中导入 umap,然后调用 umap.UMAP().fit_transform(data)
- 在哪里获取 umap?
- 源代码和安装说明在 GitHub 上:https://github.com/lmcinnes/umap
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 1000 Genomes 样本的 Python 工具,可根据消费级基因检测数据预测个人的遗传祖源。
基于 SciPy 构建的 Python 机器学习库,提供分类、回归、聚类和模型选择等工具。
一个 Python 主题建模库,结合 Transformer 嵌入与 c-TF-IDF,从文本中提取可解释的主题。
面向 JVM 的机器学习与 AI 平台,覆盖经典机器学习、深度学习、NLP、可视化以及 LLM/ONNX 推理。
一个基于 Python 的库,用于在 CPU 上快速聚类大规模高维嵌入向量,接口兼容 scikit-learn。