图像缩略图

一致流形逼近与投影(UMAP)

version 2.2 (1.42 MB) by 斯蒂芬·米
一种流形学习与降维算法。

2.4K下载

更新2021年4月4日

查看许可证

给定一组高维数据,run_umap。M生成数据的低维表示,用于数据可视化和探索。请参阅文件run_umap顶部的注释。M表示文档和许多如何使用此代码的示例。

UMAP算法是Leland McInnes、John Healy和James Melville的发明。请参阅他们的原始论文的长篇描述(https://arxiv.org/pdf/1802.03426.pdf)。另请参阅原始Python实现的文档(https://umap-learn.readthedocs.io/en/latest/index.html).

这个MATLAB实现遵循与Python实现非常相似的结构,并且许多函数描述几乎相同。

以下是此MATLAB实现中的一些主要差异:
1) MATLAB函数eigs.m似乎没有Python包Scipy中的函数“eigsh”快。对于大型数据集,我们通过使用称为概率分块的算法对数据进行分块来初始化低维变换。如果用户下载并安装函数lobpcg.m,可在此处使用(//www.tianjin-qmedu.com/matlabcentral/fileexchange/48-locally-optimal-block-preconditioned-conjugate-gradient),这可以用来为中等大小的数据集找到精确的特征向量。我们还提供了下载稍微修改过的lobpcg版本的选项。M,它有等价的结果。

2) 我们在UMAP的低维输出中内置了检测集群的可选功能。我们调用的集群方法是DBM(如中所述)https://www.hindawi.com/journals/abi/2009/686759/)用于2D缩减或DBSCAN(内置于MATLAB R2019a及以后版本)用于任何尺寸缩减。这将产生代码示例中解释的集群ID输出和可视化。

3)我们还内置了工具来量化和可视化数据组之间的差异。数据组可以由UMAP缩减上的集群定义(如上所述),也可以由UMAP用于监督缩减或监督模板缩减的分类标签定义。我们使用一个变化量化度量来检测质量和距离的相似性(描述在https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5818510/)以及测量相同数据的不同分类时重叠的分数(如中所述)https://en.wikipedia.org/wiki/F-score).为了可视化数据组,我们提供了一个树形图(描述为QF树)https://www.nature.com/articles/s42003-019-0467-6)以及显示每个数据组的相似性、重叠、假阳性百分比和假阴性百分比的可排序表。在2.2版中,我们添加了“UMAP维度浏览器”(UDE)。UDE是一个可排序表,显示每个输入维度中数据组未还原数据的特征。这些特征包括Kullback-Leibler散度(KLD);分布为密度条(使用MATLAB的jet colormap着色);中位数、均值、SD和MAD。UDE支持由MATLAB ROI工具(感兴趣区域)在UMAP输出图上绘制的数据组。万博1manbetx

总的来说,这个MATLAB UMAP实现趋向于比当前的Python实现(版本0.5.1的UMAP -learn)更快。使用c++ MEX实现,所有UMAP缩减都变得更快。由于文件交换的要求,我们只提供了MEX模块的c++源代码。用户必须单独下载或构建. mex二进制文件(在调用“run_umap”时提供下载或构建文件的选项)。如示例13到15所示,您可以通过将'python'参数设置为true来测试您自己在计算机上的实现之间的速度差异。

此外,受监督模板的用户可要求提供主管匹配、资历树和资历不同的减岗服务。run_umap的函数。M通过新的第四个输出参数:extras返回这些服务的结果。额外的属性记录在umap/UMAP_extra_results.m文件中。

可选的工具箱的依赖关系:
-生物信息学工具箱需要更改'qf_tree'参数。
曲线拟合工具箱需要改变“min_dist”参数。

这个实现是一个正在进行的工作。Leland McInnes已经对它进行了检查,他认为它“是对原始Python代码的一个相当忠实的直接翻译”。我们希望在将来继续改进它。

由斯坦福大学赫森伯格实验室提供。

我们非常感谢在查找bug方面提供的所有帮助。我们的首要任务是确定流式细胞术研究出版物中的概念是否适合使用UMAP监督模板。

引用作为

Connor Meehan, Jonathan Ebrahimian, Wayne Moore和Stephen Meehan(2021)。统一流形近似和投影(UMAP) (//www.tianjin-qmedu.com/matlabcentral/fileexchange/71902), MATLAB中央文件交换。

MATLAB版本兼容性
创建R2021a
兼容R2017a到R2021a
平台兼容性
窗户 macOS Linux
确认

启发:CytoMAP

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!

umap

利用率