UMAP降维算法python包的安装和使用

一、UMAP算法的定义:

统一流形近似与投影(UMAP)是一种降维技术,可以用于类似于t-SNE的可视化,也可以用于一般的非线性降维。该算法基于对数据的三个假设:

1、数据均匀分布在黎曼流形上;

2、黎曼度量是局部常数(或者可以近似);

3、该管汇是局部连接的。

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

二、UMAP包的安装:

UMAP依赖于sciki -learn,因此UMAP与sciki -learn的依赖关系就像numpy和scipy之间的依赖关系。由于性能原因,UMAP增加了对numba的需求。最初的版本使用了Cython,但是Numba改进的代码清晰度、简单性和性能使转换成为必要。

(一)UMAP包使用所要具备的要求:

Python 3.6 或者更高
提前安装numpy
提前安装scipy
提前安装scikit-learn
提前安装numba
提前安装matplotlib
提前安装datashader
提前安装holoviews
pynndescent(安装pynndescent可以显著地提高性能)
(二)安装UMAP包的方法主要有三种:

1、通过pip进行安装:

pip install umap-learn或者pip install umap-learn[plot](具有画图功能)

2、使用anaconda手动安装:

conda install numpy scipy
conda install scikit-learn
conda install numba
pip install umap-learn
3、通过手动安装获得这个包:

wget https://github.com/lmcinnes/umap/archive/master.zip
unzip master.zip
rm master.zip
cd umap-master
三、正确使用UMAP这个包:

umap包继承了sklearn类,因此与其他具有相同调用API的sklearn转换器紧密地放在一起。UMAP主要有以下三个主要的参数

n_neighbors:这决定了流形结构局部逼近中相邻点的个数。更大的值将导致更多的全局结构被保留,而失去了详细的局部结构。一般来说,这个参数应该在5到50之间,10到15是一个合理的默认值。
min_dist: 这控制了嵌入的紧密程度,允许压缩点在一起。数值越大,嵌入点分布越均匀;数值越小,算法对局部结构的优化越精确。合理的值在0.001到0.5之间,0.1是合理的默认值。
metric: 这决定了在输入空间中用来测量距离的度量的选择。已经编写了各种各样的度量标准,用户定义的函数只要经过numba的JITd处理就可以传递。
下面是一个简单的例子:

以上是UMAP的简单介绍 如果某些地方存在误解 敬请指教。
  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值