概述
一、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降维算法python包的安装和使用的全部内容,希望文章能够帮你解决UMAP降维算法python包的安装和使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复