不同樹模型重要性計算方法總結

首先罢维,目前計算特征重要性計算方法主要有兩個方面:

1.計算重要性特征方法

1.1訓練過程中計算

訓練過程中通過記錄特征的分裂總次數(shù)函荣、總/平均信息增益來對特征重要性進行量化唾戚。例如實際工程中我們會用特征在整個GBDT没龙、XGBoost里面被使用的次數(shù)或者帶來的總/平均信息增益來給特征重要度打分铺厨,最后進行排序缎玫。由于本身Ensemble模型在選擇特征分裂時帶有一定隨機性,一般會跑多個模型然后把特征重要性求平均后排序解滓。

1.2訓練后使用OOB(Out of Bag)數(shù)據(jù)計算

第二種方式是訓練好模型之后赃磨,用Out of Bag(或稱Test)數(shù)據(jù)進行特征重要性的量化計算。具體來說洼裤,先用訓練好的模型對OOB數(shù)據(jù)進行打分邻辉,計算出AUC或其他業(yè)務定義的評估指標;接著對OOB數(shù)據(jù)中的每個特征:

(1)隨機shuffle當前特征的取值腮鞍;

(2)重新對當前數(shù)據(jù)進行打分值骇,計算評估指標;

(3)計算指標變化率

按照上面方式移国,對每個特征都會得到一個變化率吱瘩,最后按照變化率排序來量化特征重要性。

延伸到 DNN 對特征重要性判定:

DNN不像Boosting這類模型那樣存在所謂的分裂次數(shù)與信息增益迹缀,就需要使用第二種方式使碾,對每個特征進行隨機shuffle,觀察模型指標的變化祝懂,最后按照變化率進行排序票摇。比如AUC下滑率,下滑的越多說明當前這個指標越重要砚蓬。當然矢门,實際操作中需要結合業(yè)務經(jīng)驗先指定一個候選變量池,對這部分變量計算重要度灰蛙,不然計算開銷太大祟剔。

2. 樹模型特征重要性判定

2.1 Random forest (Bagging)

[if !supportLists]l? [endif]OOB:上面已經(jīng)介紹了

[if !supportLists]l? [endif]Gini:就是看每個特征在隨機森林中的每顆樹上做了多大的貢獻,然后取個平均值摩梧,最后比一比特征之間的貢獻大小峡扩。

Sklearn里面的Gini指數(shù)和信息熵,默認是Gini指數(shù)障本。信息熵的計算比基尼系數(shù)緩慢一些,因為基尼系數(shù)的計算不涉及對數(shù)响鹃。另外驾霜,因為信息熵對不純度更加敏感,所以信息熵作為指標時买置,決策樹的生長更加”精細”粪糙,因此對于高位數(shù)據(jù)或者噪音很多的數(shù)據(jù),信息熵很容易過擬合忿项,基尼系數(shù)在這種情況下效果比較好蓉冈。

2.2 GBDT(Boosting)

[if !supportLists]l? [endif]Gini系數(shù)

在sklearn中城舞,GBDT和RF的特征重要性計算方法是相同的,都是基于單棵樹計算每個特征的重要性寞酿,探究每個特征在每棵樹上做了多少的貢獻家夺,再取個平均值。

2.3 XGBoost(Boosting)

[if !supportLists]l? [endif]Weight: 就是在子樹模型分裂時伐弹,用到的特征次數(shù)拉馋,這里計算的是所有的樹。

在sklearn中xgb.plot_importance()函數(shù)是繪制特征重要性的方法惨好,默認的是weight.

[if !supportLists]?? [endif]適用場景:weight將給予數(shù)值特征更高的值煌茴,因為它的變數(shù)越多,樹分裂時可切割的空間越大日川。所以這個指標蔓腐,會掩蓋掉重要的枚舉特征。

[if !supportLists]l? [endif]Gain:是信息增益的泛化概念龄句。這里是指節(jié)點分裂時回论,該特征帶來信息增益(目標函數(shù))優(yōu)化的平均值。

[if !supportLists]?? [endif]適用場景:gain用到了熵增的概念撒璧,它可以方便的找出最直接的特征透葛。

[if !supportLists]l? [endif]Cover:樹模型在分裂時,特征下的葉子節(jié)點涵蓋的樣本數(shù)除以特征用來分裂的次數(shù)卿樱。分裂越靠近根部僚害,cover值越大。

[if !supportLists]?? [endif]適用場景:cover對于枚舉特征繁调,會更友好萨蚕。

[if !supportLists]l? [endif]其他重要計算方法4 --

permutation

permutation:如果這個特征很重要,那么我們打散所有樣本中的該特征蹄胰,則最后的優(yōu)化目標將折損岳遥。這里的折損程度,就是特征的重要程度裕寨。由于其計算依賴單一特征浩蓉,所以對非線形模型更友好。同時宾袜,如果特征中存在多重共線性捻艳,共線性的特征重要性都將非常靠后庆猫。這是因為混淆單一特征认轨,不影響另一個特征的貢獻。這樣的結果是月培,即使特征很重要嘁字,也會排的很靠后恩急。它在scikit-learn作為permutation_importance方法實現(xiàn)。

2.4 LightGBM(Boosting)

[if !supportLists]·?????? [endif]split: 使用該特征的次數(shù).

[if !supportLists]·?????? [endif]gain: 該特征的總增益.

3.Bagging和Boosting的區(qū)別

(1)投票方面

? ? Bagging:所有學習器平均投票纪蜒。

? ? Boosting:對學習器進行加權投票衷恭。

(2)學習順序

? ? Bagging的學習是并行的,每個學習器沒有依賴關系霍掺。

? ? Boosting學習是串行匾荆,學習有先后順序。

(3)主要作用

? ? Bagging主要用于提高泛化性能(解決過擬合杆烁,也可以說降低方差)

? ? Boosting主要用于提高訓練精度(解決欠擬合牙丽,也可以說降低偏差)

(4)樣本選擇上

Bagging:訓練集在原始集中有放回選取的,從原始集中選出的各輪訓練集之間是獨立的兔魂。

Boosting:每一輪的訓練集不變烤芦,只是訓練集中每個樣例在分類器中的權重變化。而權值是根據(jù)上一輪的分類結果進行調整析校。

(5)樣例權重

Bagging:使用均勻取樣构罗,每個樣例的權重相等。

Boosting:根據(jù)錯誤率不斷調整樣例的權值智玻,錯誤率越大則權重越大遂唧。

4. 隨機森林和極端隨機樹的區(qū)別

隨機森林的隨機極端隨機樹的隨機

樣本隨機

特征隨機

參數(shù)隨機

模型隨機(ID3,C4.5)

特征隨機

參數(shù)隨機

模型隨機(ID3,C4.5)

分裂隨機

極端隨機樹是隨機森林的一個變種, 原理幾乎和RF一模一樣,僅有區(qū)別有:

(1)對于每個決策樹的訓練集吊奢,RF采用的是隨機采樣bootstrap來選擇采樣集作為每個決策樹的訓練集盖彭,而extra trees一般不采用隨機采樣,即每個決策樹采用原始訓練集页滚。

(2)在選定了劃分特征后召边,RF的決策樹會基于基尼系數(shù),均方差之類的原則裹驰,選擇一個最優(yōu)的特征值劃分點隧熙,這和傳統(tǒng)的決策樹相同。但是extra trees比較的激進幻林,他會隨機的選擇一個特征值來劃分決策樹贞盯。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市沪饺,隨后出現(xiàn)的幾起案子邻悬,更是在濱河造成了極大的恐慌,老刑警劉巖随闽,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肝谭,居然都是意外死亡掘宪,警方通過查閱死者的電腦和手機蛾扇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魏滚,“玉大人镀首,你說我怎么就攤上這事∈蟠危” “怎么了更哄?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腥寇。 經(jīng)常有香客問我成翩,道長,這世上最難降的妖魔是什么赦役? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任麻敌,我火速辦了婚禮,結果婚禮上掂摔,老公的妹妹穿的比我還像新娘术羔。我一直安慰自己,他們只是感情好乙漓,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布级历。 她就那樣靜靜地躺著,像睡著了一般叭披。 火紅的嫁衣襯著肌膚如雪寥殖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天趋观,我揣著相機與錄音扛禽,去河邊找鬼。 笑死皱坛,一個胖子當著我的面吹牛编曼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剩辟,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼掐场,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贩猎?” 一聲冷哼從身側響起熊户,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吭服,沒想到半個月后嚷堡,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡艇棕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年蝌戒,在試婚紗的時候發(fā)現(xiàn)自己被綠了串塑。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡北苟,死狀恐怖桩匪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情友鼻,我是刑警寧澤傻昙,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站彩扔,受9級特大地震影響妆档,放射性物質發(fā)生泄漏。R本人自食惡果不足惜借杰,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一过吻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蔗衡,春花似錦纤虽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至济蝉,卻和暖如春杰刽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背王滤。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工贺嫂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雁乡。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓第喳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親踱稍。 傳聞我的和親對象是個殘疾皇子曲饱,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 樹模型演變過程 Decision Tree -(Bagging)-> Random Forest -(Boost...
    葡萄肉多閱讀 3,709評論 0 6
  • 一般來說,通過融合多個不同的模型珠月,可能提升機器學習的性能扩淀,這一方法在各種機器學習比賽中廣泛應用,比如在kaggle...
    塵囂看客閱讀 19,473評論 3 19
  • 1.分類樹與決策樹的區(qū)別啤挎? 分類樹使用信息增益或增益比率來劃分節(jié)點驻谆;每個節(jié)點樣本的類別情況投票決定測試樣本的類別。...
    徽hero兔閱讀 1,012評論 0 2
  • 1 為什么要對特征做歸一化 特征歸一化是將所有特征都統(tǒng)一到一個大致相同的數(shù)值區(qū)間內(nèi),通常為[0,1]旺韭。常用的特征歸...
    顧子豪閱讀 6,303評論 2 22
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者氛谜,不喜歡去冒險,但是人生放棄了冒險区端,也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 6,033評論 0 4