決策樹是一種邏輯簡(jiǎn)單的機(jī)器學(xué)習(xí)算法,它是一種樹形結(jié)構(gòu),所以叫決策樹。
本文將介紹決策樹的基本概念、決策樹學(xué)習(xí)的3個(gè)步驟、3種典型的決策樹算法、決策樹的10個(gè)優(yōu)缺點(diǎn)。
什么是決策樹?
決策樹是一種解決分類問題的算法,決策樹算法采用樹形結(jié)構(gòu),使用層層推理來實(shí)現(xiàn)最終的分類。決策樹由下面幾種元素構(gòu)成:
根節(jié)點(diǎn):包含樣本的全集
內(nèi)部節(jié)點(diǎn):對(duì)應(yīng)特征屬性測(cè)試
葉節(jié)點(diǎn):代表決策的結(jié)果
預(yù)測(cè)時(shí),在樹的內(nèi)部節(jié)點(diǎn)處用某一屬性值進(jìn)行判斷,根據(jù)判斷結(jié)果決定進(jìn)入哪個(gè)分支節(jié)點(diǎn),直到到達(dá)葉節(jié)點(diǎn)處,得到分類結(jié)果。
這是一種基于if-then-else規(guī)則的有監(jiān)督學(xué)習(xí)算法,決策樹的這些規(guī)則通過訓(xùn)練得到,而不是人工制定的。
決策樹是最簡(jiǎn)單的機(jī)器學(xué)習(xí)算法,它易于實(shí)現(xiàn),可解釋性強(qiáng),完全符合人類的直觀思維,有著廣泛的應(yīng)用。
舉個(gè)栗子:
上面的說法過于抽象,下面來看一個(gè)實(shí)際的例子。銀行要用機(jī)器學(xué)習(xí)算法來確定是否給客戶發(fā)放貸款,為此需要考察客戶的年收入,是否有房產(chǎn)這兩個(gè)指標(biāo)。領(lǐng)導(dǎo)安排你實(shí)現(xiàn)這個(gè)算法,你想到了最簡(jiǎn)單的線性模型,很快就完成了這個(gè)任務(wù)。
首先判斷客戶的年收入指標(biāo)。如果大于20萬,可以貸款;否則繼續(xù)判斷。然后判斷客戶是否有房產(chǎn)。如果有房產(chǎn),可以貸款;否則不能貸款。
這個(gè)例子的決策樹如下圖所示:
決策樹學(xué)習(xí)的3個(gè)步驟
特征選擇
特征選擇決定了使用哪些特征來做判斷。在訓(xùn)練數(shù)據(jù)集中,每個(gè)樣本的屬性可能有很多個(gè),不同屬性的作用有大有小。因而特征選擇的作用就是篩選出跟分類結(jié)果相關(guān)性較高的特征,也就是分類能力較強(qiáng)的特征。
在特征選擇中通常使用的準(zhǔn)則是:信息增益。
決策樹生成
選擇好特征后,就從根節(jié)點(diǎn)觸發(fā),對(duì)節(jié)點(diǎn)計(jì)算所有特征的信息增益,選擇信息增益最大的特征作為節(jié)點(diǎn)特征,根據(jù)該特征的不同取值建立子節(jié)點(diǎn);對(duì)每個(gè)子節(jié)點(diǎn)使用相同的方式生成新的子節(jié)點(diǎn),直到信息增益很小或者沒有特征可以選擇為止。
決策樹剪枝
剪枝的主要目的是對(duì)抗「過擬合」,通過主動(dòng)去掉部分分支來降低過擬合的風(fēng)險(xiǎn)。
3種典型的決策樹算法
ID3算法
ID3是最早提出的決策樹算法,他就是利用信息增益來選擇特征的。
C4.5算法
他是ID3的改進(jìn)版,他不是直接使用信息增益,而是引入“信息增益比”指標(biāo)作為特征的選擇依據(jù)。
CART(ClassificationandRegressionTree)
這種算法即可以用于分類,也可以用于回歸問題。CART算法使用了基尼系數(shù)取代了信息熵模型。
決策樹的優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
決策樹易于理解和解釋,可以可視化分析,容易提取出規(guī)則;
可以同時(shí)處理標(biāo)稱型和數(shù)值型數(shù)據(jù);
比較適合處理有缺失屬性的樣本;
能夠處理不相關(guān)的特征;
測(cè)試數(shù)據(jù)集時(shí),運(yùn)行速度比較快;
在相對(duì)短的時(shí)間內(nèi)能夠?qū)Υ笮蛿?shù)據(jù)源做出可行且效果良好的結(jié)果。
缺點(diǎn)
容易發(fā)生過擬合(隨機(jī)森林可以很大程度上減少過擬合);
容易忽略數(shù)據(jù)集中屬性的相互關(guān)聯(lián);
對(duì)于那些各類別樣本數(shù)量不一致的數(shù)據(jù),在決策樹中,進(jìn)行屬性劃分時(shí),不同的判定準(zhǔn)則會(huì)帶來不同的屬性選擇傾向;信息增益準(zhǔn)則對(duì)可取數(shù)目較多的屬性有所偏好(典型代表ID3算法),而增益率準(zhǔn)則(CART)則對(duì)可取數(shù)目較少的屬性有所偏好,但CART進(jìn)行屬性劃分時(shí)候不再簡(jiǎn)單地直接利用增益率盡心劃分,而是采用一種啟發(fā)式規(guī)則)(只要是使用了信息增益,都有這個(gè)缺點(diǎn),如RF)。
ID3算法計(jì)算信息增益時(shí)結(jié)果偏向數(shù)值比較多的特征。
責(zé)任編輯人:CC
評(píng)論
查看更多