Agent Skills
返回列表
📊

UMAP 流形降维与可视化

数据分析 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/umap-learn。

技能介绍

要解决什么问题

高维数据(基因表达、文档向量、图像特征)直接做聚类或画图往往受「维数灾难」影响:距离度量失效、可视化不可读。PCA 是线性的,t-SNE 擅长 2D 可视化但难以 transform 新样本,也不适合作为 5~50 维的特征工程步骤。你需要一种既快又可扩展的非线性嵌入,在保留局部邻域的同时尽量不丢全局拓扑,并且 API 能像 sklearn 一样塞进流水线。

技能如何工作

本技能围绕 UMAP-Learn 的典型工程路径组织说明:

  • 预处理:应用 UMAP 前将特征缩放到可比尺度,避免某一维 dominate 距离。
  • 核心拟合:UMAP 类遵循 scikit-learn 约定,可作为 t-SNE/PCA 的 drop-in 替代;通过 n_neighbors、min_dist、n_components、metric 分别控制局部/全局平衡、低维点间距、输出维度与距离定义(数值用 euclidean,文本向量常用 cosine)。
  • 监督与半监督:拟合时传入标签 y 可在分离类别的同时保持类内结构;未标注点用 -1 标记。
  • 聚类预处理:与「好看的可视化」不同,聚类场景常把 n_neighbors 提到约 30、min_dist 设为 0.0、n_components 设为 5~10,再交给 HDBSCAN 等密度聚类。
  • 新数据投影:已训练模型可用 transform() 将未见点映射到同一嵌入空间;分布漂移明显时文档建议考虑 Parametric UMAP(神经网络编码器,支持更高效变换与可选逆变换)。

适用边界与注意点

UMAP 并不完美保持密度,低 min_dist 或不当的 n_neighbors 可能产生碎片簇或人为分团;聚类结果需要额外验证。transform 假设训练与测试在高维空间分布一致;标准版的 逆变换 计算重且在嵌入凸包外效果差。随机优化下应固定 random_state 以保证可复现;大数据集可配合 low_memory=True 或先做 PCA 再 UMAP。

使用场景

  • 单细胞或基因表达矩阵维度过高,需先 UMAP 降到 5~10 维再跑 HDBSCAN 做密度聚类
  • 已有带标签的表格特征,希望在 2D 嵌入里分开类别同时保留类内邻近关系
  • 文档或句向量用 cosine 距离做 UMAP,导出散点图检查主题是否成团
  • 训练好的 UMAP 模型要对增量样本调用 transform,映射到同一嵌入空间做在线打分

适合人员

  • 做单细胞/转录组下游分析的生信工程师,常把 UMAP 当 HDBSCAN 前的降维步骤并区分可视化与聚类参数
  • 维护 sklearn 流水线的机器学习工程师,需要 UMAP 与 StandardScaler、后续分类器同构集成
  • 用嵌入向量做主题或检索质量抽查的 NLP 研究员,要调 metric 与 n_neighbors 看 2D 结构
  • 探索高维实验数据(批次、时序)的算法研究员,需要监督 UMAP 或 AlignedUMAP 做可比对嵌入