统一多方面的近似和投影(UMAP)

一个多方面的学习和降维算法。

4.9 k下载

更新星期四,2022年10月20 06:55:43 + 0000

查看许可协议

给定一组高维数据,run_umap。米生产的低维表示数据为目的的数据可视化和探索。看到评论run_umap顶部的文件。的文档和很多如何使用这段代码的例子。
UMAP算法Leland麦克因尼斯的发明,约翰•希利和詹姆斯·梅尔维尔。看到他们的原始论文的长篇描述( https://arxiv.org/pdf/1802.03426.pdf )。还可以看到原来的Python实现的文档( https://umap-learn.readthedocs.io/en/latest/index.html )。
这个MATLAB实现遵循一个非常相似的结构Python实现从2019年开始,和许多函数的描述几乎是相同的。
这里有一些额外的工具添加到我们的实现:
1)能够检测集群UMAP低维输出的。作为聚类方法,我们调用DBM(描述 https://www.hindawi.com/journals/abi/2009/686759/ )或DBSCAN(建于MATLAB R2019a后来)。
2)视觉和计算工具对数据组比较。通过运行集群数据组可以被定义在数据群岛造成UMAP减少或由外部分类标签。我们使用一个改变量化指标(QFMatch)检测在质量和距离(描述相似 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5818510/ )以及一个f值测量重叠时,组织不同的分类相同的数据。可视化数据组,我们提供一个系统树图(描述为QF-tree https://www.nature.com/articles/s42003 - 019 - 0467 - 6 ),一个多维标度视图和合适的表显示每个数据组的相似性,重叠,假阳性率和假阴性率。run_umap的文档。m和UMAP_extra_results。m描述提供这些和其他相关工具。
3)一个PredictionAdjudicator特性,有助于确定一个分类的预测另一个的子集。
4)互补独立分类命名为“详尽的投影寻踪”(EPP)生成标签为监督UMAP以及分类比较研究。人民党在描述 https://onedrive.live.com/?authkey=%21ALyGEpe8AqP2sMQ&cid=FFEEA79AC523CD46&id=FFEEA79AC523CD46%21209192&parId=FFEEA79AC523CD46%21204865&o=OneUp
5)能够使用神经网络从MATLAB的“fitcnet”功能或Python包TensorFlow学习训练数据集,并提供一个分类新数据比较或与UMAP分类合并。
如果没有任何压缩,这个MATLAB UMAP实现往往是比当前的Python实现(版本0.5.2 umap-learn)。由于文件交换的要求,我们只供应墨西哥人的c++源代码模块我们用来加速计算。命令“run_umap”(不带参数)允许您选择的直接下载这些文件或这些文件的建立与c++源代码和构建脚本,我们提供。看到fast_approximation run_umap观点评论。为进一步加速m文件。13至15例子所显示的,你可以测试之间的速度差实现自己在您的计算机上通过设置“python”参数为true。
生物信息学工具箱必须改变“qf_tree”的论点,这是可选的。
这个实现是一项正在进行中的工作。利兰麦克因尼斯看着,他在2019年将其描述为“一个相当忠实的直接翻译的原始Python代码”。我们希望在未来继续改进它。
斯坦福大学Herzenberg实验室提供的。
在我们的最新版本添加与FlowJo的互操作性,一种广泛使用的分析应用流式细胞术分布式BD生命科学。FlowJo Herzenberg实验室有其开端,所以我们很高兴桥与FlowJo这个UMAP包。你可以监督UMAP FlowJo工作区与人口的定义。此外,您可以导出UMAP地区感兴趣的回FlowJo工作区。
我们感谢所有和任何帮忙找到bug。我们的首要任务已经确定我们的概念的适用性研究出版物在流式细胞仪的使用UMAP监督模板和详尽的投影的追求。

引用作为

康纳米,乔纳森•Ebrahimian韦恩·摩尔和斯蒂芬·米(2022)。统一多方面的近似和投影(UMAP) (//www.tatmou.com/matlabcentral/fileexchange/71902), MATLAB中央文件交换。

MATLAB版本兼容性
创建R2021b
兼容R2017a R2021b
平台的兼容性
窗户 macOS Linux
类别
找到更多的在统计和机器学习工具帮助中心MATLAB的答案
确认

启发:CytoMAP

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

epp

fcs

中长期规划

umap

跑龙套

版本 发表 发布说明
4.2.1

修正文档在run_umap示例使用FlowJo 4 & 5。

4.2

1。与FlowJO集成
——从工作区导入数据和监督标签
——结果导出到工作区
2。多维定标意见监督减少模板。
3所示。热图的改进。
4所示。许多bug修复和其他改进

4.1

1)改进的文档和示例使用延时火车/预测UMAP独立
2)MlpPython。预测功能
——快r2019b或更高版本
允许测试集与训练集的所有列在任何顺序

4.0

-mlp_train结合神经网络和监督分类模板
-job_folder允许批处理运行run_umap从外部软件MATLAB重新加载
示例在run_umap 34。和其他m说明这些新参数

3.01

1。快速逼近现在加速匹配和还原处理。

2。现在预测表:
真正+)显示尺寸,假+和假,堆放在一起。
b)强调,选择黄色UMAP和EPP情节。

3.0

V3.0提高速度、分类评估和ROI的功能。详情见的最后部分和/或搜索run_umap FileExchange描述。为fast_approximation m文件,run_epp match_predictions。

2。2

- & KLD未还原的数据表显示密度分布与简化数据的分组
- run_umap理由监督模板和访问之前UMAP特性
与更大的数据集以及其他例子

2.1.3

修复边缘情况运行模板失败如果度量是一个用户定义的函数。

2.1.2

员工参数run_umap UMAP内“包装器”,实现更多的功能。米的核心;在run_umap搜索”v2.1.2”。看到这些添加。
固定缺陷边缘案件最小数据和用户定义的指标。

2.1.01

最大化UMAP并行速度通过使用MATLAB的分配逻辑CPU核心
员工NN-descent支持“SEu金宝appclidean”
不管是新滑块阴影UMAP上司的颜色
随机梯度下降停止优雅如果用户关闭进度窗口

魅惑

随机梯度下降法(SGD)现在默认并行与我们的墨西哥人的方法。看到“sgd_tasks”文档。
——“随机”现在是真正的默认情况下为了使用并行加速NN-descent和SGD
作为小bug修复

2.0.0

改进的文档时一些参数和移除所有弹出窗口“冗长”是错误的
-run_umap现在接受所有knnsearch参数(SortIndices的除外)
最近的邻居对于某些数据输入计算明显加速

1.5.2

删除. exe和.MEX文件符合文件交换的要求。从我们的谷歌用户现在鼓励下载这些如果他们希望大大加快run_umap开车。
员工的例子在run_umap头17至19日发表评论。

1.3.4

固定一个bug SGD在Java中数据是无意中存储为两个不同的对象
员工的《树和不同的情节
员工一个实验性joined_transform方法优于变换()当训练数据是失踪人口

1.3.3

固定一些小化妆品理想情节比例等问题

1.3.2

如果应用UMAP模板数据,似乎新的人群,出现警告并给出选择执行一种减少
固定一个索引错误发生在smooth_knn_dist。如果数据有太多相同的点

1.3.1

固定用户与MATLAB的GUI bug会发生R2018b或更早

1.3.0

拼现在可以减少到任意数量的维度通过改变n_components的参数;如果减少超过二维,三维图所示
-DBSCAN可用于集群UMAP输出
——“n_epochs”参数现在可以手动改变

1.2.1 "

员工为用户预先计算的参数值曲线拟合工具箱
固定一个问题当使用变换()的新数据集大小相同之前的嵌入和改进邻接矩阵变换()
改进的进度条

1.2.0

员工两个例子(run_umap.m)展示如何执行与UMAP监督降维
改进的标签的阴谋;监督UMAP情节包含了一个传奇的标签分类数据
解释适当的MATLAB路径设置

1.1.0