【机器学习】UMAP:强大的可视化降维工具
作者:杰少
UMAP:強(qiáng)大的可視化&異常檢測工具
簡介
數(shù)據(jù)降維最為重要的是降低數(shù)據(jù)的維度的同時(shí)盡可能保有大量的原始信息,而其中最為大家熟知的是PCA和tSNE,但是這二者都存在一些問題,
PCA的速度相對很快,但代價(jià)是數(shù)據(jù)縮減后會丟很多底層的結(jié)構(gòu)信息;
tSNE可以保留數(shù)據(jù)的底層結(jié)構(gòu),但速度非常慢;
UMAP是2018年被提出的降維和可視化算法,它使用Uniform流形近似和投影(UMAP),既可以獲得PCA的速度優(yōu)勢,同時(shí)還可以保留盡可能多的數(shù)據(jù)信息,而且其可視化效果也非常美觀,如下:
除此之外,UMAP在很多競賽中也得到了廣泛應(yīng)用,比如在高維數(shù)據(jù)集中更快更準(zhǔn)確的進(jìn)行異常值檢測。
UMAP
Uniform Manifold Approximation and Projection (UMAP) 是一種降維技術(shù),它不僅可以進(jìn)行降維,而且可用于可視化,類似于t-SNE,也可用于一般非線性降維。UMAP基于對數(shù)據(jù)的三個(gè)假設(shè)
數(shù)據(jù)均勻分布在黎曼流形上(Riemannian manifold);
黎曼度量是局部const(或可以近似為局部const);
流形是局部連接的。
根據(jù)這些假設(shè),可以用模糊拓?fù)浣Y(jié)構(gòu)對流形進(jìn)行建模。UMAP的優(yōu)點(diǎn)包括:
速度很快,相較于tSNE等快了非常多;
因?yàn)楸A袅吮M可能多的數(shù)據(jù)信息,其可視化效果更好;
還可以用于異常檢測等;
但UMAP的問題在于RAM消耗可能有些大。尤其是在裝配和創(chuàng)建連接圖等圖表時(shí),UMAP會消耗大量內(nèi)存。
代碼
01
UMAP可視化
import?umap import?umap.plot??? from?sklearn.impute?import?SimpleImputer from?sklearn.pipeline?import?make_pipeline from?sklearn.preprocessing?import?QuantileTransformerpipe?=?make_pipeline(SimpleImputer(),?QuantileTransformer()) X_processed?=?pipe.fit_transform(X)? manifold?=?umap.UMAP().fit(X_processed,?y) umap.plot.points(manifold,?labels=y,?theme="fire")02
和IsolationForest一起做異常檢測
from?sklearn.ensemble?import?IsolationForest pipe?=?make_pipeline(SimpleImputer(),?QuantileTransformer(),?umap.UMAP(n_components=5)) X_processed?=?pipe.fit_transform(X)#?Fit?IsolationForest?and?predict?labels iso?=?IsolationForest(n_estimators=500,?n_jobs=9) labels?=?iso.fit_predict(X_processed)適用問題
涉及到數(shù)據(jù)降維,數(shù)據(jù)可視化以及異常檢測等都可以考慮使用。
參考文獻(xiàn)
8 Booming Data Science Libraries You Must Watch Out For in 2022
https://umap-learn.readthedocs.io/en/latest/
How to Analyze 100-Dimensional Data with UMAP in Breathtakingly Beautiful Ways
總結(jié)
以上是生活随笔為你收集整理的【机器学习】UMAP:强大的可视化降维工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何拉取公网RTSP/RTMP流在内网多
- 下一篇: RTSP播放器开发过程中需要考虑哪些关键