Python用T-SNE非線性降維技術(shù)擬合和可視化高維數(shù)據(jù)iris鳶尾花、MNIST 數(shù)據(jù)|附代碼數(shù)據(jù)
原文鏈接:http://tecdat.cn/?p=24002
最近我們被客戶要求撰寫(xiě)關(guān)于非線性降維技術(shù)的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。
T-distributed Stochastic Neighbor Embedding (T-SNE) 是一種可視化高維數(shù)據(jù)的工具。T-SNE 基于隨機(jī)鄰域嵌入,是一種非線性降維技術(shù),用于在二維或三維空間中可視化數(shù)據(jù)
Python API 提供? T-SNE 方法可視化數(shù)據(jù)。在本教程中,我們將簡(jiǎn)要了解如何在 Python 中使用 TSNE 擬合和可視化數(shù)據(jù)。教程涵蓋:
鳶尾花數(shù)據(jù)集TSNE擬合與可視化
MNIST 數(shù)據(jù)集 TSNE 擬合和可視化
我們將從加載所需的庫(kù)和函數(shù)開(kāi)始。
import?seaborn?as?snsimport?pandas?as?pd
鳶尾花數(shù)據(jù)集TSNE擬合與可視化
加載 Iris 數(shù)據(jù)集后,我們將獲取數(shù)據(jù)集的數(shù)據(jù)和標(biāo)簽部分。
x?=?iris.datay?=?iris.target
然后,我們將使用 TSNE 類(lèi)定義模型,這里的 n_components 參數(shù)定義了目標(biāo)維度的數(shù)量。'verbose=1' 顯示日志數(shù)據(jù),因此我們可以檢查它。
TSNE(?verbose=1)
接下來(lái),我們將在圖中可視化結(jié)果。我們將在數(shù)據(jù)框中收集輸出組件數(shù)據(jù),然后使用“seaborn”庫(kù)的 scatterplot() 繪制數(shù)據(jù)。在散點(diǎn)圖的調(diào)色板中,我們?cè)O(shè)置 3,因?yàn)闃?biāo)簽數(shù)據(jù)中有 3 種類(lèi)型的類(lèi)別。
df?=?p.Dtame()
df["]?=?y
df["cm"]?=z[:,0]df[cop"]?=?z[,]plot(hue=dfytlst()
????????????????patte=ns.cor_ptt("hls",?3),
????????????????dat=df)

MNIST?數(shù)據(jù)集 TSNE 擬合和可視化
接下來(lái),我們將把同樣的方法應(yīng)用于更大的數(shù)據(jù)集。MNIST手寫(xiě)數(shù)字?jǐn)?shù)據(jù)集非常合適,我們可以使用Keras API的MNIST數(shù)據(jù)。我們只提取數(shù)據(jù)集的訓(xùn)練部分,因?yàn)檫@里用TSNE來(lái)測(cè)試數(shù)據(jù)就足夠了。TSNE需要太多的時(shí)間來(lái)處理,因此,我將只使用3000行。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語(yǔ)言高維數(shù)據(jù)的主成分pca、 t-SNE算法降維與可視化分析案例報(bào)告

左右滑動(dòng)查看更多

01

02

03

04

x_train=?xtrin[:3000]y_rin?=?ytrin[:3000]
print(x_train.shape)

MNIST 是一個(gè)三維數(shù)據(jù),我們將其變形為二維數(shù)據(jù)。
print(xtishpe)
x_nit?=?rshap(_rin,?[xran.shap[0],xtrn.shap[1]*xrin.shap[2])print(x_mit.shape)

在這里,我們有 784 個(gè)特征數(shù)據(jù)?,F(xiàn)在,我們將使用 TSNE 將其投影到二維中,并在圖中將其可視化。
z?=?tsne.fit(x_mnist)
df["comp1"]?=?z[:,0]df["comp2"]?=?z[:,1]plot(huedf.tit(),
????????????????ata=f)

該圖顯示了 MNIST 數(shù)據(jù)的二維可視化。顏色定義了目標(biāo)數(shù)字及其在 2D 空間中的特征數(shù)據(jù)位置。
在本教程中,我們簡(jiǎn)要地學(xué)習(xí)了如何在 Python 中使用 TSNE 擬合和可視化數(shù)據(jù)。

點(diǎn)擊文末?“閱讀原文”
獲取全文完整代碼數(shù)據(jù)資料。
本文選自《Python用T-SNE非線性降維技術(shù)擬合和可視化高維數(shù)據(jù)iris鳶尾花、MNIST 數(shù)據(jù)》。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
Python用稀疏、高斯隨機(jī)投影和主成分分析PCA對(duì)MNIST手寫(xiě)數(shù)字?jǐn)?shù)據(jù)進(jìn)行降維可視化
R語(yǔ)言k-means聚類(lèi)、層次聚類(lèi)、主成分(PCA)降維及可視化分析鳶尾花iris數(shù)據(jù)集R語(yǔ)言 PCA(主成分分析),CA(對(duì)應(yīng)分析)夫妻職業(yè)差異和馬賽克圖可視化
R語(yǔ)言主成分分析(PCA)葡萄酒可視化:主成分得分散點(diǎn)圖和載荷圖
R語(yǔ)言用主成分PCA、?邏輯回歸、決策樹(shù)、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視化
R語(yǔ)言用溫度對(duì)城市層次聚類(lèi)、kmean聚類(lèi)、主成分分析和Voronoi圖可視化
主成分分析(PCA)原理及R語(yǔ)言實(shí)現(xiàn)及分析實(shí)例
R語(yǔ)言法國(guó)足球聯(lián)賽球員因子分析、主成分分析(FA,PCA)
偏最小二乘回歸(PLSR)和主成分回歸(PCR)
R語(yǔ)言高維數(shù)據(jù)的主成分pca、t-SNE算法降維與可視化分析案例報(bào)告
R語(yǔ)言有RStan的多維驗(yàn)證性因子分析(CFA)
R語(yǔ)言對(duì)混合分布中的不可觀測(cè)與可觀測(cè)異質(zhì)性因子分析
R語(yǔ)言法國(guó)足球聯(lián)賽球員多重對(duì)應(yīng)分析(MCA)