特徵工程

特徵衍生

特徵衍生是現有的特徵進行某種組合,生成新的具有含義的特徵。一般情況下,對於給的數據中,缺少必要的條件,我們需要將已知的特徵進行組合,然後得到新的特徵,這樣能夠讓我們對數據的認識更加清晰。

比較好的例子

查看怎麼樣才能使用到我們的任務中

特徵選擇

對於總體的特徵選擇來說,主要可以劃分爲三種選擇方法

  1. 過濾法:按照發散性或者相關性對各個特徵進行評分,設定閾值,選擇特徵。
    常見的過濾方式包括方差分析、相關係數、假設檢驗、互信息等

    ​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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章