機器學習-邏輯回歸的特徵工程

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取值的模型,用來進行嵌入法特徵選擇,並繪製學習曲線

係數累加法


包裝法

  • 直接設定需要的特徵個數
  • 現實運用邏輯回歸時,通常會限定變量個數的需求,包裝法此時會非常方便