機(jī)器學(xué)習(xí)中必知必會(huì)的 8 種降維技術(shù),最后一款超硬核!
降維是將高維數(shù)據(jù)集轉(zhuǎn)換為可比較的低維空間的過程,真實(shí)的數(shù)據(jù)集通常有很多冗余特征,降維技術(shù)可用于去除這些冗余特征或?qū)維數(shù)據(jù)集轉(zhuǎn)換為2維或3維進(jìn)行可視化。
在本文中,我們將討論8種降維技術(shù),它們可以用于各種用例來降低數(shù)據(jù)集的維度。
1. 缺失值
真實(shí)的數(shù)據(jù)集通常包含大量缺失記錄,這可能是由于記錄數(shù)據(jù)時(shí)數(shù)據(jù)損壞或保存失敗造成的。我們可以嘗試各種數(shù)據(jù)插補(bǔ)技術(shù)來填補(bǔ)缺失的記錄,但這僅在特征缺失數(shù)量有限時(shí)有效。
如果缺失特征值的數(shù)量大于指定的閾值,則最好從訓(xùn)練數(shù)據(jù)中刪除該特征。我們可以刪除所有缺失特征記錄大于閾值(比如50%)的特征,從而降低數(shù)據(jù)的維度。
缺失值的可視化:白線表示存在缺失值
上述缺失值解釋圖像是使用themissingno包為titanic數(shù)據(jù)生成的。特征“Age”和“Cabin”有大量缺失記錄,最終,它們可以從訓(xùn)練樣本中去除。
2.相關(guān)性濾波器
一個(gè)或多個(gè)特征的相關(guān)性較高說明其具有相似的變化趨勢且可能包含相似的信息,它會(huì)破壞自變量的統(tǒng)計(jì)顯著性,我們可以刪除與其他獨(dú)立特征相關(guān)的特征,還可以刪除與目標(biāo)類標(biāo)簽不相關(guān)的特征。
有多種技術(shù)可以計(jì)算獨(dú)立特征之間的相關(guān)性,包括 Pearson、Spearman、Kendall、卡方檢驗(yàn)等。
相關(guān)矩陣的熱圖
上述相關(guān)矩陣熱圖(針對titanic數(shù)據(jù)集)是使用df.corr()函數(shù)計(jì)算的。
3.方差濾波器
只有一個(gè)特征類別的分類特征或方差很小的數(shù)值特征變量,這些特征不會(huì)對我們的模型有一定的提升,可以從訓(xùn)練樣本中刪除。
函數(shù)DataFrame.var()可以計(jì)算 Pandas 數(shù)據(jù)幀的所有特征的方差。DataFrame.value_counts()函數(shù)可以計(jì)算每個(gè)特征的分布。
4.前向/后向特征選擇
前向特征選擇技術(shù)是一種選擇最佳特征集的包裝技術(shù)。這是一個(gè)循序漸進(jìn)的過程,特征是根據(jù)上一步的推斷來選擇的。前向特征選擇技術(shù)的步驟是:
1.使用每個(gè)特征分別訓(xùn)練機(jī)器學(xué)習(xí)模型,并測量每個(gè)模型的性能。
2.獲取性能最佳的特征并使用其余特征重新訓(xùn)練單個(gè)模型。
3.重復(fù)這個(gè)過程并一次添加一個(gè)特征,產(chǎn)生性能最佳的特征被保留。
4.重復(fù)步驟 2 和 3,直到模型的性能沒有明顯的改善。
前向特征選擇
后向特征選擇技術(shù)類似于前向特征選擇,但工作方式正好相反,最初選擇所有特征,并在每一步中刪除最冗余的特征。
5.主成分分析
主成分分析 (PCA) 是一種非常古老的降維技術(shù)。PCA 通過保留特征的方差將特征向量投影到低維空間,它找到最大方差的方向以獲得最佳特征列表。PCA 可用于將非常高維的數(shù)據(jù)投影到所需的維度。PCA算法的步驟是:
- 標(biāo)準(zhǔn)化數(shù)據(jù)集
- 計(jì)算標(biāo)準(zhǔn)化數(shù)據(jù)集的協(xié)方差矩陣
- 計(jì)算協(xié)方差矩陣的特征值和特征向量
- 取特征向量與具有高特征值的特征向量的點(diǎn)積。
6.t-SNE
t-SNE(t-分布式隨機(jī)鄰域嵌入)是一種降維技術(shù),主要用于數(shù)據(jù)可視化。t-SNE將高維的數(shù)據(jù)集轉(zhuǎn)換為可以進(jìn)一步可視化的二維或三維向量。
t-SNE 的性能優(yōu)于 PCA,因?yàn)樗A袅藬?shù)據(jù)的局部結(jié)構(gòu),并通過保留鄰域局部結(jié)構(gòu)將每個(gè)數(shù)據(jù)點(diǎn)從較高維度嵌入到較低維度空間。
更多內(nèi)容可以查看:https://distill.pub/2016/misread-tsne/
7.UMAP
UMAP(Uniform Manifold Approximation)是一種新的降維技術(shù),它是一種非常有效的可視化和可伸縮降維算法,其工作方式與 t-SNE 類似,但是它保留了更多全局結(jié)構(gòu)、具有優(yōu)越的運(yùn)行性能、更好的可擴(kuò)展性。
更多詳情:https://umap-learn.readthedocs.io/en/latest/basic_usage.html
8.自動(dòng)編碼器(Auto Encoder )
自動(dòng)編碼器(Auto Encoder )是一種基于單層感知器的降維方法。它有兩個(gè)組成部分:壓縮(編碼器)和擴(kuò)展(解碼器)。輸入層和輸出層的節(jié)點(diǎn)數(shù)量相同,而中間層的神經(jīng)元數(shù)量少于輸入層和輸出層。
數(shù)據(jù)集被傳遞到自動(dòng)編碼器神經(jīng)網(wǎng)絡(luò)模型,并被編碼到較低維度的隱藏層。然后它嘗試從簡化的編碼中生成盡可能接近其原始輸入的表示。中間層是減少到可比較的較低維度的向量。
總結(jié)
在本文中,我們討論了基于特征選擇的降維方法、基于組件的降維技術(shù)、基于投影的方法,最后是基于神經(jīng)網(wǎng)絡(luò)的自動(dòng)編碼器。ISOMAP 是另一種基于投影的降維方法,其工作方式類似于 UMAP 和 t-SNE。SVD 和 ISO 是其他一些基于組件的降維技術(shù)。