umap简介

2018年McInnes提出了算法,UMAP(Uniform Manifold Approximation and Projection for Dimension Reduction,一致的流形逼近和投影以进行降维)。 一致的流形近似和投影(UMAP)是一种降维技术,类似于t-SNE,可用于可视化,但也可用于一般的非线性降维。 该算法基于关于数据的三个假设:数据均匀分布在黎曼流形上(Riemannian manifold);

黎曼度量是局部恒定的(或可以这样近似);

流形是局部连接的。

根据这些假设,可以对具有模糊拓扑结构的流形进行建模。 通过搜索具有最接近的等效模糊拓扑结构的数据的低维投影来找到嵌入。

相对于t-SNE,其主要特点:降维快准狠。

论文:McInnes, L, Healy, J, UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction, ArXiv e-prints 1802.03426, 2018

同时其作者开源实现代码。

安装

pip install umap-learn

基本使用

以sklearn内置的Digits Data这个数字手写识别数据库为例。

Digits Data每个数字是64维的向量,先查看数据:

from sklearn.datasets import load_digits

import matplotlib.pyplot as plt

digits = load_digits()

fig, ax_array = plt.subplots(20, 20)

axes = ax_array.flatten()

for i, ax in enumerate(axes):

ax.imshow(digits.images[i], cmap='gray_r')

plt.setp(axes, xticks=[], yticks=[], frame_on=False)

plt.tight_layout(h_pad=0.5, w_pad=0.01)

plt.show()

使用umap降至2维并绘制散点图:

reducer = umap.UMAP(random_state=42)

embedding = reducer.fit_transform(digits.data)

print(embedding.shape)

plt.scatter(embedding[:, 0], embedding[:, 1], c=digits.target, cmap='Spectral', s=5)

plt.gca().set_aspect('equal', 'datalim')

plt.colorbar(boundaries=np.arange(11)-0.5).set_ticks(np.arange(10))

plt.title('UMAP projection of the Digits dataset')

plt.show()

从图上可以看出,相同的数字大多聚在一起了。

umap算法_Python—UMAP流形数据降维工具简介相关推荐

  1. 【工具】55种开源数据可视化工具简介

    工欲善其事必先利其器.本文对55个流行的数据可视化工具进行了简单的介绍,包括著名的D3.js.R.Gephi.Raphaël.Processing.js.Tableau Public.Google C ...

  2. 【55种开源数据可视化工具简介】

    http://blog.csdn.net/tianxuzhang/article/details/44925777 大数据时代数据可视化成为理解和表达数据的有效甚至是唯一的手段. 工欲善其事必先利其器 ...

  3. gbase8a的orato8a和db2to8a 数据抽取工具简介

    orato8a简介 orato8a是一个可以快速.高效地从oracle数据库系统中抽取数据,并将数据保存到指定文件或直接迁移到GBase 8a中的专用工具.并且orato8a还提供查询语句导出和全表导 ...

  4. python 预测算法_Python 与金融数据使用机器学习算法预测交易策略

    记得 关注.分享.点在看 呀- 这样您就能持续收到优质的推送啦 这一期,我们将使用上一期处理好的数据特征和标签训练机器,然后预测交易策略.我们将分别使用 K近邻算法和集成学习两种方法分别完成模型的训练 ...

  5. python制作考试系统_python测试框架数据生成工具最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  6. python图像数据是几维数据_python数据分析:数据降维(tsen)

    为什么要对数据进行降维? 实际应用中的数据一般是高维的,比如手写的数字,如果我们缩放到28×28的图片大小,那么它的维度就是28×28=784维. 举个简单的例子: 下图是手写的1及其对应的图像二维矩 ...

  7. 大数据数据采集工具简介

    随着大数据技术体系的发展,越来越多的企业应用大数据技术支撑自己的业务发展.数据采集作为大数据的起点,是企业主动获取数据的一种重要手段.数据采集的多样性.全面性直接影响数据质量. 企业获取数据的渠道分为 ...

  8. 常用的数据可视化工具简介

    参考文章:常用的数据可视化工具有哪些? BDP官方网站 简介 推荐的数据化工具有: QlikView.Tableau.Power BI.FineBI,Google Data Studio EXCEL. ...

  9. 【机器学习】UMAP:强大的可视化降维工具

    作者:杰少 UMAP:强大的可视化&异常检测工具 简介 数据降维最为重要的是降低数据的维度的同时尽可能保有大量的原始信息,而其中最为大家熟知的是PCA和tSNE,但是这二者都存在一些问题, P ...

最新文章

  1. 致Oracle DBA 的一封信 (网上流传)
  2. 编写一个Rubygem, 如何在gem 被Install之前运行一段程序?
  3. 死锁的代码产生及必要条件与预防
  4. 【软件周刊第 24 期】Ubuntu 17.04 正式发布,不再支持 32 位 PowerPC(PPC)架构
  5. 游戏ai人工智能_AI与游戏,第1部分:游戏如何推动了两门AI研究流派
  6. 设计模式分类及UML汇总
  7. 方舟代码_源代码丢失的方舟
  8. 转fatfs 文件系统选择
  9. linux中fdisk的参数,Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk
  10. Canvas API 详解
  11. URI:统一资源标识符
  12. 生信笔记:序列同源性、相似性
  13. 18年NDVI斜率图生成
  14. 利用scrapy爬取东方资讯的新闻
  15. 关于Oculus无法下载应用:(OVR40779122) 的解决方案
  16. 陈潭:大数据战略实施的实践逻辑与行动框架
  17. 讲道理 | 计算正交投影算子
  18. 【论文笔记】—本征图像分解—Unsupervised—USI^3^D—2020-CVPR
  19. 【117】基于完全同态加密的改进计算委托
  20. 实验三 简单结构局域网组建与配置

热门文章

  1. 【产业互联网周报】小米回应造车传闻;IBM或考虑出售旗下Watson Health业务;SpaceX完成新融资,估值740亿美元...
  2. MTK cts测试注意事项
  3. Adobe After Effects 2021 v18.2.1.8 特别版
  4. 产业观察 | 区块链与农业结合迸发新火花,助推农业现代化建设
  5. zan-admin响应式简单布局
  6. signature=2a6c4d5079868ac4431c3aa7e21fbe40,Arbitration
  7. 【19】核心易中期刊推荐——人工智能 | 遥感信息处理
  8. python文件怎么看代码表_TFRecord文件查看包含的所有Features代码
  9. 嵌入式以太网第三部分——以太网协议实现
  10. Vue 跨域下载或读取文件