Introduction
- 在進行邏輯回歸模型訓練時,通常需要對數據進行降維
- 在高維(>1000個)特徵情況下,可先使用特徵選擇的演算法幫助我們篩選特徵,在根據自己相關的業務常識選擇更為相關的特徵
- 在邏輯回歸中,一般不使用PCA和SVD的降維演算法
- 會抹滅特徵的可解釋性
- 降維後會無法解釋特徵與Label的關係
- 在不需探究特徵與標籤之間關係的線性數據上,仍可使用
- 著重於對測試樣本進行分類時,可使用
- 會抹滅特徵的可解釋性
- 在邏輯回歸中,前幾章提到的特徵選擇方法都可以使用
嵌入法
- L1 正則化會使得部分特徵參數(權重)$\theta$($w$)變為0,因此L1正則化可以用來做特徵選擇
- 結合特徵選擇-嵌入法模塊(
sklearn.feature_selection.SelectFromModel
) - 邏輯回歸預設是使用 L1,L2懲罰項來進行特徵篩選的
- 邏輯回歸具有
coef_
屬性,指定norm_order
參數,來決定使用范數進行降維- 預設為
1
為L1范數
- 預設為
- 選擇器會刪除在L1範式下無效的特徵
優化
在特徵選擇的前提下保證模型的高效率
Method I 優化threshold
- 在上面並未指定
threshold
參數,預設為None
- 刪除了所有L1正則化後 參數(權重)$\theta$($w$)為0 的特徵
- 對
threshold
參數進行調整 (繪製threshold
學習曲線) 優化模型 - 調整
threshold
值時,就不是使用 L1正則化 選擇特徵,而是使用模型的屬性coef_
生成的各個係數來選擇- 係數越大的特徵 對邏輯回歸的影響就越大
Method II 優化模型本身參數C
- 使用L1范數來做特徵選擇,但是調整 邏輯回歸建模時的
C
這個超參數- 邏輯回歸建模搭配不同
C
參數的取值;將不同參數C
取值的模型,用來進行嵌入法特徵選擇,並繪製學習曲線
- 邏輯回歸建模搭配不同
係數累加法
包裝法
- 直接設定需要的特徵個數
- 現實運用邏輯回歸時,通常會限定變量個數的需求,包裝法此時會非常方便