拓端tecdat|Python用稀疏、高斯隨機(jī)投影和主成分分析PCA對(duì)MNIST手寫數(shù)字?jǐn)?shù)據(jù)進(jìn)行降維
原文鏈接:http://tecdat.cn/?p=23599?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
降維是在我們處理包含過多特征數(shù)據(jù)的大型數(shù)據(jù)集時(shí)使用的,提高計(jì)算速度,減少模型大小,并以更好的方式將巨大的數(shù)據(jù)集可視化。這種方法的目的是保留最重要的數(shù)據(jù),同時(shí)刪除大部分的特征數(shù)據(jù)。?
在這個(gè)教程中,我們將簡要地學(xué)習(xí)如何用Python中的稀疏和高斯隨機(jī)投影以及PCA方法來減少數(shù)據(jù)維度。讀完本教程后,你將學(xué)會(huì)如何通過使用這些方法來降低數(shù)據(jù)集的維度。本教程包括。
準(zhǔn)備數(shù)據(jù)
高斯隨機(jī)投影
稀疏隨機(jī)投影
PCA投影
MNIST數(shù)據(jù)投射
我們將從加載所需的庫和函數(shù)開始。
準(zhǔn)備數(shù)據(jù)
首先,我們將為本教程生成簡單的隨機(jī)數(shù)據(jù)。在這里,我們使用具有1000個(gè)特征的數(shù)據(jù)集。為了將維度方法應(yīng)用于真實(shí)數(shù)據(jù)集,我們還使用Keras API的MNIST手寫數(shù)字?jǐn)?shù)據(jù)庫。MNIST是三維數(shù)據(jù)集,這里我們將把它重塑為二維的。
print(x.shape)?

mnist.load_data()
print(x_train.shape)

?reshape(x_train,)
print(x_mnist.shape)
?

高斯隨機(jī)投影
高斯隨機(jī)法將原始輸入空間投射到一個(gè)隨機(jī)生成的矩陣上降低維度。我們通過設(shè)置分量數(shù)字來定義該模型。在這里,我們將把特征數(shù)據(jù)從1000縮減到200。
grp.fit_transform(x)
print(gshape)

根據(jù)你的分析和目標(biāo)數(shù)據(jù),你可以設(shè)置你的目標(biāo)成分。
稀疏隨機(jī)投影
稀疏隨機(jī)方法使用稀疏隨機(jī)矩陣投影原始輸入空間以減少維度。我們定義模型,設(shè)置成分的數(shù)量。在這里,我們將把特征數(shù)據(jù)從1000縮減到200。
srp_data = srp.fit_transform(x)
print(srp_data.shape)?

根據(jù)你的分析和目標(biāo)數(shù)據(jù),你可以設(shè)置你的目標(biāo)成分。
?
PCA投影
我們將使用PCA分解,通過設(shè)置成分?jǐn)?shù)來定義模型。在這里,我們將把特征數(shù)據(jù)從1000縮減到200。
pca.fit_transform(x)
print(pca_data.shape)?

根據(jù)你的分析和目標(biāo)數(shù)據(jù),你可以設(shè)置你的目標(biāo)成分。
?
MNIST數(shù)據(jù)的投影
在使用高斯、稀疏隨機(jī)和PCA方法學(xué)習(xí)降維后,現(xiàn)在我們可以將這些方法應(yīng)用于MNIST數(shù)據(jù)集。為測試目的,我們將設(shè)置2個(gè)成分并應(yīng)用投影。
#對(duì)2個(gè)成分的稀疏隨機(jī)投影
srp.fit_transform(x_mnist)
df_srp["comp1"] = z[:,0)
df_srp["comp2"] = z[:,1] 。
# 高斯隨機(jī)投射在2個(gè)成分上
fit_transform(x_mnist)
# 對(duì)2個(gè)成分進(jìn)行PCA
PCA(n=2)
sns.scatterplot(x="comp-1", y="comp-2")



該圖顯示了MNIST數(shù)據(jù)的變化維度。顏色定義了目標(biāo)數(shù)字和它們的特征數(shù)據(jù)在圖中的位置。
在本教程中,我們已經(jīng)簡單了解了如何用稀疏和高斯隨機(jī)投影方法以及Python中的PCA方法來減少數(shù)據(jù)維度。?
最受歡迎的見解
1.matlab偏最小二乘回歸(PLSR)和主成分回歸(PCR)
2.R語言高維數(shù)據(jù)的主成分pca、 t-SNE算法降維與可視化分析
3.主成分分析(PCA)基本原理及分析實(shí)例
4.基于R語言實(shí)現(xiàn)LASSO回歸分析
5.使用LASSO回歸預(yù)測股票收益數(shù)據(jù)分析
6.r語言中對(duì)lasso回歸,ridge嶺回歸和elastic-net模型
7.r語言中的偏最小二乘回歸pls-da數(shù)據(jù)分析
8.r語言中的偏最小二乘pls回歸算法
9.R語言線性判別分析(LDA),二次判別分析(QDA)和正則判別分析(RDA)