99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)大數(shù)據(jù)時(shí)代如何計(jì)算決策樹的各特征重要程度?
如何計(jì)算決策樹的各特征重要程度?
2023-04-07
收藏

決策樹是一種常用的機(jī)器學(xué)習(xí)算法,它可以對(duì)數(shù)據(jù)進(jìn)行分類和預(yù)測(cè)。在決策樹中,特征(或?qū)傩裕┲匾允侵该總€(gè)特征對(duì)模型準(zhǔn)確性的貢獻(xiàn)程度。因此,了解如何計(jì)算特征重要性是非常有用的,可以幫助我們選擇最相關(guān)的特征,進(jìn)而提高模型的性能。

本文將介紹三種計(jì)算特征重要性的方法:基于信息增益、基于基尼不純度和基于平均減少不純度。這些方法都可以用來(lái)計(jì)算特征重要性,并且在實(shí)踐中都取得了很好的效果。

  1. 基于信息增益

信息增益是一種用來(lái)評(píng)估一個(gè)特征對(duì)決策樹分類能力的重要性的指標(biāo)。它的定義是:特征A對(duì)樣本集D的信息增益(Gain(D, A))等于樣本集D的經(jīng)驗(yàn)熵(H(D))與特征A條件下的經(jīng)驗(yàn)熵(H(D|A))之差,即:

Gain(D, A) = H(D) - H(D|A)

其中,經(jīng)驗(yàn)熵(H(D))衡量了樣本集D的不確定性,經(jīng)驗(yàn)熵越大,樣本集的不確定性就越高;特征A條件下的經(jīng)驗(yàn)熵(H(D|A))衡量的是在特征A給定的情況下,樣本集D的不確定性。如果特征A對(duì)分類任務(wù)有幫助,則H(D|A)會(huì)比H(D)小,因此信息增益越大,特征對(duì)分類能力的貢獻(xiàn)就越大。

在計(jì)算信息增益時(shí),我們需要先計(jì)算經(jīng)驗(yàn)熵和條件經(jīng)驗(yàn)熵。然后,通過(guò)計(jì)算信息增益來(lái)確定每個(gè)特征的重要性,從而選擇最相關(guān)的特征。

  1. 基于基尼不純度

基尼不純度是另一種評(píng)估特征重要性的方法。它衡量的是從樣本中隨機(jī)選擇兩個(gè)樣本,其類別不一致的概率。這個(gè)概率越低,說(shuō)明樣本的純度越高,也就是說(shuō)該特征對(duì)分類任務(wù)的貢獻(xiàn)越大。

具體來(lái)說(shuō),假設(shè)樣本集合D中第k類樣本所占的比例為pk,則D的基尼指數(shù)定義為:

Gini(D) = 1 - ∑(pk)^2

對(duì)于樣本集合D來(lái)說(shuō),假設(shè)使用特征A對(duì)其進(jìn)行劃分,得到了m個(gè)子集Di,其中第i個(gè)子集的樣本數(shù)為Di,并且屬于第k類的樣本在Di中所占的比例為pki,則特征A的基尼指數(shù)定義為:

Gini(D, A) = ∑(Di / D) × (1 - ∑(pki)^2)

特征A的重要性可以通過(guò)計(jì)算基尼指數(shù)的減少量來(lái)確定。具體來(lái)說(shuō),我們可以計(jì)算使用特征A進(jìn)行劃分前后的基尼指數(shù),然后計(jì)算兩者之差,即:

ΔGini(D, A) = Gini(D) - Gini(D, A)

如果ΔGini越大,說(shuō)明特征A對(duì)分類任務(wù)的貢獻(xiàn)越大,因此特征A的重要性就越高。

  1. 基于平均減少不純度

平均減少不純度(Mean Decrease Impurity,MDI)是一種計(jì)算特征重要性的方法,它對(duì)應(yīng)的是決策樹算法中的 CART

算法。該方法通過(guò)計(jì)算每個(gè)特征決策樹中被用作分裂標(biāo)準(zhǔn)的次數(shù)和該特征分裂所帶來(lái)的平均減少不純度,來(lái)評(píng)估特征的重要程度。

具體來(lái)說(shuō),對(duì)于某個(gè)特征A,我們可以計(jì)算它在所有節(jié)點(diǎn)上的分裂次數(shù)和每次分裂所帶來(lái)的平均減少不純度(Impurity Decrease,ID)。然后將每個(gè)節(jié)點(diǎn)的ID加權(quán)求和即可得到特征A的MDI。

CART算法使用的是基尼不純度來(lái)評(píng)估節(jié)點(diǎn)的不純度,因此其計(jì)算方法與基于基尼不純度的特征重要性計(jì)算方法類似。

總結(jié)

本文介紹了三種常用的特征重要性計(jì)算方法:基于信息增益、基于基尼不純度和基于平均減少不純度。這些方法都可以用來(lái)計(jì)算特征的重要性,并且在實(shí)踐中都取得了很好的效果。選擇哪種方法取決于具體情況和數(shù)據(jù)集的特點(diǎn)。在實(shí)際應(yīng)用中,我們可以結(jié)合多種方法來(lái)評(píng)估特征的重要性,以獲得更全面的結(jié)果。

相信讀完上文,你對(duì)算法已經(jīng)有了全面認(rèn)識(shí)。若想進(jìn)一步探索機(jī)器學(xué)習(xí)的前沿知識(shí),強(qiáng)烈推薦機(jī)器學(xué)習(xí)半監(jiān)督學(xué)習(xí)課程。

學(xué)習(xí)入口:https://edu.cda.cn/goods/show/3826?targetId=6730&preview=0
涵蓋核心算法,結(jié)合多領(lǐng)域?qū)崙?zhàn)案例,還會(huì)持續(xù)更新,無(wú)論是新手入門還是高手進(jìn)階都很合適。趕緊點(diǎn)擊鏈接開啟學(xué)習(xí)吧!

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }