特徵衍生
特徵衍生是現有的特徵進行某種組合,生成新的具有含義的特徵。一般情況下,對於給的數據中,缺少必要的條件,我們需要將已知的特徵進行組合,然後得到新的特徵,這樣能夠讓我們對數據的認識更加清晰。
查看怎麼樣才能使用到我們的任務中
特徵選擇
對於總體的特徵選擇來說,主要可以劃分爲三種選擇方法
- 過濾法:按照發散性或者相關性對各個特徵進行評分,設定閾值,選擇特徵。
常見的過濾方式包括方差分析、相關係數、假設檢驗、互信息等
2. 包裝法:根據目標函數(通常是預測效果評分),每次選擇若干特徵,或者排除若干特徵。
3. 嵌入法:先使用某些機器學習的算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。
1.IV值進行特徵選擇
1.1 基本介紹
在二分類問題中,IV值(Information Value)主要用來對輸入變量進行編碼和預測能力評估。
IV 值的取值範圍是[0, ),其大小表示該變量預測能力的強弱。通常認爲:
IV值 預測能力
<0.02 無用特徵
0.02-0.1 弱預測
0.1-0.3 中等預測
0.3-0.5 強預測
0.5 可疑特徵
一般選擇中等和強預測能力的變量用於模型開發。
1.2 計算公式
1)WOE
WOE(weight of evidence,證據權重),是對原始變量的一種編碼形式。
對一個變量進行WOE編碼,首先要把變量進行分組處理(分箱或離散化)。常用離散化的方法有等寬分組,等高分組,或利用決策樹來分組。
分組後,對於第 i 組,WOE的計算公式見下式:
它衡量了"當前分組中響應用戶/所有響應用戶"和"當前分組中未響應用戶/所有未響應用戶"的差異。
2)IV值
IV值的計算以WOE爲基礎,相當於是WOE值的一個加權求和。
假設變量分了n個組。對第i組,計算公式如下:
計算了變量各個組的 IV 值之後,我們就可以計算整個變量的 IV 值:
IV值主要用於特徵選擇,如果想對變量的預測能力進行排序,可以按 IV 值從高到低篩選。
IV在WOE前多乘了一個因子:
1)保證了IV的值不是負數;
2)很好的考慮了分組中樣本佔整體的比例(比例越低,這個分組對變量整體預測能力的貢獻越低)。
2.隨機森林進行特徵選擇
隨機森林提供了兩種特徵選擇的方法:mean decrease impurity和mean decrease accuracy。
2.1 平均不純度減少(mean decrease impurity)
利用不純度可以確定節點(最優條件). 對於分類問題,常採用基尼不純度/信息增益;對於迴歸問題,常採用方差/最小二乘擬合。
訓練決策樹時,可以計算每個特徵減少了多少樹的不純度。對於一個決策樹森林來說,可以算出每個特徵平均減少了多少不純度,並把它平均減少的不純度作爲特徵選擇的值。
【缺點】
1)該方法存在偏向, 對具有更多類別的變量更有利(也是信息增益的缺點);
2)label存在多個關聯特徵(任意一個都可以作爲優秀特徵), 則一旦某個特徵被選擇, 其他特徵的重要性會急劇降低。這會造成誤解:錯誤的認爲先被選中的特徵是很重要的,而其餘的特徵是不重要的。
2.2 平均精確率減少(Mean decrease accuracy)
直接度量每個特徵對模型精確率的影響。
打亂每個特徵的特徵值順序,並且度量順序變動對模型的精確率的影響。
對於不重要的變量來說,打亂順序對模型的精確率影響不會太大,但是對於重要的變量來說,打亂順序就會降低模型的精確率。
遇到的問題
1)求IV值遇到極端值時怎麼處理?
將WOE標記爲0/無窮或平滑處理,對IV值有較大大影響。已經無法從0.2—0.5的取值來刪除特徵了(除了可疑預測,其餘都在0.2—0.5之間)。
2)雖然已經求得IV值或feature_importance,但不知道是不是取值不合常規就一定要刪除該特徵。
代碼參見我的github