Kaggle知識點:Null Importances

文章目錄[隱藏]

介紹

Null Importances是競賽中比較靠譜的特征篩選方法,且在多個(ge) Kaggle結構化比賽中被驗證過。

特征篩選從(cong) 原始特征空間篩選部分特征,具體(ti) 篩選方法可以分為(wei) :

  • 過濾法;
  • 包裝法;
  • 嵌入法;

過濾法思路使用相關(guan) 統計值來計算特征有效性,然後完成篩選;包裝法使用特征帶來的精度增益來衡量;嵌入法使用特征在模型內(nei) 部權重來衡量重要性。

在競賽中一般使用包裝法來篩選特征,但單純追求精度收益非常容易過擬合,導致線上和線下不一致。

原理

使用包裝法和嵌入法篩選特征,容易篩選得到有較高CV(驗證集)精度,但導致分布一致的特征。

  • CV精度增加,線上不一定有提高;
  • 樹模型重要性高,不一定有效的;

舉(ju) 一個(ge) 例子:樣本標簽和ID兩(liang) 列,兩(liang) 列是一一對應,如果將ID列加入訓練,CV精度可能不會(hui) 增加,但ID在樹模型特征重要性會(hui) 很高。

Null Importances的出發點也是如此,特征重要性隻反映特征的信息增益或使用次數,但並不能說明特征一定有效。

步驟

Null Importances思路如下:

步驟1:將原有特征和標簽使用樹模型訓練,得到每個(ge) 特征原始重要性A;

步驟2:將數據的標簽打亂(luan) ,特征不變再此訓練,記錄下打散後的每個(ge) 特征重要性B,將此步驟重複N次;

步驟3:將步驟1中特征步驟2兩(liang) 個(ge) 特征重要性進行比較。

  • 若A遠大於B,則特征為有效特征;
  • 若A小於等於B,則特征為無效特征;

步驟2重複N是為(wei) 了看標簽打散後的特征重要性分布,A與(yu) B的分布比較,會(hui) 更加清晰。

Null Importances是借助了嵌入法的重要性計算過程,然後使用重要性變化來完成衡量過程。如下圖所示,使用LightGBM模型來完成上述操作。紅色為(wei) 原始重要性A,藍色為(wei) 打亂(luan) 後的重要性。

每一行對應一個(ge) 特征,左邊特征使用次數,右邊為(wei) 特征信息增益。

Kaggle知識點:Null Importances無效特征Kaggle知識點:Null Importances有效特征

參考資料

https://academic.oup.com/bioinformatics/article/26/10/1340/193348

https://www.kaggle.com/ogrellier/feature-selection-with-null-importances

【競賽報名/項目谘詢+微信:mollywei007】

下一篇

分享盤點那些年在美高上過的有趣又實用課程!

你也可能喜歡

  • 暫無相關文章!

評論已經被關(guan) 閉。

插入圖片
返回頂部