python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python库umap高维数据

python库umap有效地揭示高维数据的结构和模式初探

作者:小寒聊python

这篇文章主要介绍了python库umap有效地揭示高维数据的结构和模式初探,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

python 库umap

今天给大家分享一个超强的 python 库,umap

https://github.com/lmcinnes/umap 

UMAP 是一种用于降维的算法,可用于类似于 t-SNE 的可视化。UMAP 基于流形学习的概念,旨在更有效地揭示高维数据中的结构和模式。

该算法基于关于数据的三个假设

优点

UMAP 作为一种现代的降维技术,具有如下优点。

数学原理

相关公式

高维空间中的距离度量:对于每个点 ,UMAP定义了一个局部距离度量,通常为欧氏距离或其他度量。

交叉熵最小化:UMAP最小化的目标函数基于交叉熵,形式上为:

其中, 是高维空间中点  和  之间的连接概率,而  是低维表示中对应点的相似性度量。

概率分布匹配:UMAP 尝试匹配高维和低维空间中的两个概率分布  和 

优化算法:通常使用随机梯度下降或类似方法来最小化交叉熵损失。

初体验

库的安装

我们可以直接使用 pip 来进行安装,umap 依赖于 scikit-learn 和 numba,确保你已经安装了它们。

pip install umap-learn

如果你想使用绘图功能,可以使用。

pip install umap-learn[plot]

一个案例

这里,我们使用 MNIST 数据集来作为演示。

import umap
from sklearn.datasets import load_digits

digits = load_digits()

mapper = umap.UMAP(n_neighbors=10,min_dist=0.001).fit(digits.data)
umap.plot.points(mapper, labels=digits.target)

以上就是python库umap有效地揭示高维数据的结构和模式初探的详细内容,更多关于python库umap高维数据的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文