當前位置:編程學習大全網 - 源碼下載 - XGBoost三種特征重要性計算方法的比較

XGBoost三種特征重要性計算方法的比較

特征的重要性壹般用來觀察不同特征的貢獻。我們認為排名靠前很重要。這種思想通常用於特征篩選。剔除貢獻度低的尾部特征,增強模型的魯棒性,降低特征維數。另壹方面是用來解釋模型的。預期結果如下:重要特征在復合業務中直觀;符合商業直覺的特性排名靠前。在實踐中,我們通常用樹模型的分類點來做文章。常用的有XGB等通用樹模型。

XGB 1-weight內置的三種特征重要度計算方法

Xgb.plot_importance這是我們經常用來繪制特征重要性的函數方法。背後的貢獻度計算方法是權重。

?“權重”-壹個特征被用於在所有樹上分割數據的次數。

簡單來說就是子樹模型拆分時使用的特征數量。這裏所有的樹都計算在內。該指標在R包中也稱為頻率2。

XGB 2-Gain內置的三種特征重要性計算方法

Model.feature_importances_這是我們調用特征重要性值時的默認函數方法。背後貢獻的計算方法是增益。

?“增益”-使用該特征的所有分割的平均增益。

增益是信息增益的廣義概念。這裏指的是節點分裂時該特征帶來的信息增益(目標函數)優化的平均值。

XGB內置三種特征重要性計算方法3-COVER

定義模型時需要定義model = xgbrfclassifier(importance _ type = ' cover ')的計算方法。稍後再打電話。

model.feature_importances_得到的是基於cover的貢獻。

cover' -使用該特征的所有分割的平均覆蓋率。

覆蓋圖就是當樹模型被分割時,特征下的葉節點覆蓋的樣本數除以特征被用來分割的次數。分裂越靠近根部,覆蓋值越大。

使用場景

權重將賦予數字特征更高的值,因為它的變量越多,當樹分裂時它可以切割的空間就越大。因此,這壹指標會掩蓋重要的計數特征。

Gain使用熵增的概念,可以很容易的找出最直接的特征。也就是說,如果壹個特征下的零都是標簽下的零,那麽這個特征壹定會排在第壹位。

Cover對於枚舉特性更友好。同時,它不會過度擬合目標函數。不接受目標函數的量綱影響。

按如下方式調用它們

# available importance _ types =[' weight ',' gain ',' cover ',' total_gain ',' total_cover']

f = "增益"

XGBClassifier.get_booster()。get_score(importamce_type=f)

在實際中我們也會發現,頭尾值在增益的順序上有很大的差異,因為後續的優化在計算信息增益時可能不是壹個數量級。類似於神經網絡,在優化損失函數時,後續維度可能相差十倍,也可能相差百倍。所以綜上所述,如果有下遊業務方,更推薦使用cover的特征重要性計算方法。當然,如果是簡單的模型調優,gain可以指出最重要的特性。在某些場景中,這些特征可以總結為硬性規則。

其他重要的計算方法4 -排列

除了上述內置的重要性計算方法,還有其他的第三方計算方法。

置換:如果這個特性很重要,那麽我們就在所有樣本中把它打散,最終的優化目標就會被破壞。這裏的破壞程度就是特征的重要性。因為它的計算依賴於單個特征,所以對非線性模型更友好。同時,如果特征中有多個* * *線性,那麽* * *線性的特征重要性會非常靠後。這是因為混淆單個特征不會影響另壹個特征的貢獻。因此,即使特性很重要,它們的排名也會很低。

針對多個* * *線特征,sklearn文檔中提到了壹個解決方案:計算特征之間的Spearman秩序相關性,得到每組中的頭部特征,然後計算特征重要性。這個方法其實就是在解決特征線的問題。

其他模型特征重要性的計算方法

對於相同的樹模型,隨機森林和GBDT也具有內置的特征重要性。隨機森林使用rf.feature_importances_來獲得特征的重要性。其中,分類任務計算基尼雜質/信息熵。回歸任務計算樹的方差。實際上,這種基於平均減少雜質的方法存在兩個問題:(1)會更多地關註變量空間較大的特征,而二進制分類特征會落後。(2)結果的擬合是基於訓練集的,存在過擬合的風險,所以沒有驗證集數據進行驗證。

針對上述問題,建議采用OOB(out-of-bag)法對剩余數據進行驗證,並結合排列計算特征重要度。另外,GBDT也是基於雜質計算的特征重要性,但它是單棵樹上的回歸樹,所以不是基於基尼系數,而是基於MSE或MAE。

至於為什麽都是樹模型,而且都是基於不存在的重要性計算,結果卻不壹樣。主要有兩個,壹個是它們的樹結構不壹樣;第二是他們的優化對象不壹樣。

  • 上一篇:裝修建材有哪些
  • 下一篇:linux的兼容性?
  • copyright 2024編程學習大全網