SuperAPI AI 工具集

alterlab-umap

数据与分析

查看项目

更新于 10-15 19:56

技能介绍

用途:UMAP(Uniform Manifold Approximation and Projection)是一种非线性降维技术,适合快速、可扩展地生成同时保留局部与全局结构的嵌入。适用于把高维特征或嵌入投影到 2D/3D 可视化、为 HDBSCAN 等密度聚类做降维预处理、监督/半监督/参数化/对齐建模,以及用已拟合模型转换新数据。

主要能力:遵循 scikit-learn 约定,可作为 t-SNE/PCA 的替代。核心参数为 n_neighbors(局部与全局平衡,默认 15)、min_dist(低维点聚集程度,默认 0.1)、n_components(输出维度,默认 2)、metric(距离度量,默认 euclidean;文本嵌入可用 cosine,二值数据可用 hamming/jaccard 等)。监督模式通过 fit_transform(data, y=labels) 传入标签;半监督将未标注点标为 -1。可先监督训练再 transform 新数据,或放入 sklearn Pipeline。参数建议:可视化用 n_neighbors=15、min_dist=0.1、2 维;聚类用 n_neighbors≈30、min_dist=0.0、5-10 维,再配合 hdbscan(min_cluster_size、min_samples)。

使用方式:安装 uv pip install "umap-learn>=0.5,<0.6";参数化版本用 uv pip install "umap-learn[parametric_umap]"(需 TensorFlow 2.x)。基本用法为先 StandardScaler 标准化(当原始尺度无意义时),再用 umap.UMAP().fit_transform。还提供逆变换 inverse_transform、ParametricUMAP(可自定义编解码器)和 AlignedUMAP(分析时间序列或相关数据集)。

限制:UMAP 不完全保留密度,可能产生人为的簇划分,聚类结果需验证。不适用于单细胞 AnnData 流程(应改用 alterlab-scanpy)、线性降维或通用 ML 建模(alterlab-scikit-learn)、BERTopic 主题建模(alterlab-text-as-data)。设置 random_state 会强制单线程;完全复现还需记录 umap-learn 版本。transform 假设训练与测试数据分布一致,否则改用 Parametric UMAP。逆变换计算昂贵且超出凸包区域效果差。