图片缩略图

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

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

2.4 k下载

更新2021年04月04

查看许可协议

给定一组高维数据,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)安德鲁·克尼亚泽夫(Andrew Knyazev)提出,这可以用来为中等规模的数据集找到精确的特征向量。我们还为您提供了下载稍微修改过的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). 为了可视化数据组,我们提供了一个树状图(在https://www.nature.com/articles/s42003-019-0467-6)和分类表,显示每个数据组的相似性,重叠,假阳性%和假阴性%。在2.2版中,我们添加了“UMAP维度资源管理器”(UDE)。UDE是一个可排序的表,它显示了数据组在每个输入维度中的未简化数据的特征。这些特征包括Kullback-Leibler divergence (KLD);分布为密度条(使用MATLAB的喷射色图着色);中位数,平均值,SD和MAD。UDE支万博1manbetx持用MATLAB ROI工具(感兴趣区域)在UMAP输出图上绘制数据组。

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

此外,受监管模板的用户可以请求监管匹配、QF树和QF不相似性的事后缩减服务。函数run_umap.m通过新的第4个输出参数extras返回这些服务的结果。extra的属性记录在文件umap/umap_extra_results.m中。

可选的工具箱的依赖关系:
-需要使用生物信息学工具箱来更改“qf_树”参数。
曲线拟合工具箱需要改变“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
确认

启发:细胞图谱

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!

umap

跑龙套