降維
1、簡介
當特徵選擇完成後,可以直接訓練模型了,但是可能由於特徵矩陣過大,導致計算量大,訓練時間長的問題,因此降低特徵矩陣維度也是必不可少的。常見的降維方法除了以上提到的基於L1懲罰項的模型以外。
另外還有主成分分析法(PCA)和線性判別分析(LDA),線性判別分析本身也是一個分類模型。PCA和LDA有很多的相似點,其本質是要將原始的樣本映射到維度更低的樣本空間中,但是PCA和LDA的映射目標不一樣:
- PCA是爲了讓映射後的樣本具有最大的發散性
- 而LDA是爲了讓映射後的樣本有最好的分類性能。
所以說PCA是一種無監督的降維方法,而LDA是一種有監督的降維方法。
2、使用方法
-
主成分分析法(PCA)
使用decomposition庫的PCA類選擇特徵的代碼如下:
from sklearn.decomposition import PCA
selected_feeature = PCA(n_components=2).fit_transform(features)
print(selected_feeature)
-
線性判別分析法(LDA)
使用LDA進行降維的代碼如下:
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
selected_feeature = LDA(n_components=n).fit_transform(features, target)
print(selected_feeature)
總結
特徵工程包含下面幾個部分:
- 數據預處理:標準化, 區間縮放, 二值化, 啞編碼, 缺失值處理, 多項式變換, 函數變換
- 特徵選擇: 方差選擇, 卡方檢驗, 遞歸消除, 基於模型消除
- 數據降維: PCA, LDA