決策樹算法原理

1驳规、決策樹分類原理   

決策樹是通過一系列規(guī)則對(duì)數(shù)據(jù)進(jìn)行分類的過程。它提供一種在什么條件下會(huì)得到什么值的類似規(guī)則的方法授账。決策樹分為分類樹和回歸樹兩種归园,分類樹對(duì)離散變量做決策樹黄虱,回歸樹對(duì)連續(xù)變量做決策樹。

如果不考慮效率等蔓倍,那么樣本所有特征的判斷級(jí)聯(lián)起來終會(huì)將某一個(gè)樣本分到一個(gè)類終止塊上悬钳。實(shí)際上盐捷,樣本所有特征中有一些特征在分類時(shí)起到?jīng)Q定性作用偶翅,決策樹的構(gòu)造過程就是找到這些具有決定性作用的特征,根據(jù)其決定性程度來構(gòu)造一個(gè)倒立的樹--決定性作用最大的那個(gè)特征作為根節(jié)點(diǎn)碉渡,然后遞歸找到各分支下子數(shù)據(jù)集中次大的決定性特征聚谁,直至子數(shù)據(jù)集中所有數(shù)據(jù)都屬于同一類。所以滞诺,構(gòu)造決策樹的過程本質(zhì)上就是根據(jù)數(shù)據(jù)特征將數(shù)據(jù)集分類的遞歸過程形导,我們需要解決的第一個(gè)問題就是,當(dāng)前數(shù)據(jù)集上哪個(gè)特征在劃分?jǐn)?shù)據(jù)分類時(shí)起決定性作用习霹。

2朵耕、決策樹的學(xué)習(xí)過程

一棵決策樹的生成過程主要分為以下3個(gè)部分:

特征選擇:特征選擇是指從訓(xùn)練數(shù)據(jù)中眾多的特征中選擇一個(gè)特征作為當(dāng)前節(jié)點(diǎn)的分裂標(biāo)準(zhǔn),如何選擇特征有著很多不同量化評(píng)估標(biāo)準(zhǔn)標(biāo)準(zhǔn)淋叶,從而衍生出不同的決策樹算法阎曹。

決策樹生成: 根據(jù)選擇的特征評(píng)估標(biāo)準(zhǔn),從上至下遞歸地生成子節(jié)點(diǎn),直到數(shù)據(jù)集不可分則停止決策樹停止生長处嫌。 樹結(jié)構(gòu)來說栅贴,遞歸結(jié)構(gòu)是最容易理解的方式。

剪枝:決策樹容易過擬合熏迹,一般來需要剪枝檐薯,縮小樹結(jié)構(gòu)規(guī)模、緩解過擬合注暗。剪枝技術(shù)有預(yù)剪枝和后剪枝兩種坛缕。

3、基于信息論的三種決策樹算法   

劃分?jǐn)?shù)據(jù)集的最大原則是:使無序的數(shù)據(jù)變的有序友存。如果一個(gè)訓(xùn)練數(shù)據(jù)中有20個(gè)特征祷膳,那么選取哪個(gè)做劃分依據(jù)?這就必須采用量化的方法來判斷屡立,量化劃分方法有多重直晨,其中一項(xiàng)就是“信息論度量信息分類”∨蚶基于信息論的決策樹算法有ID3勇皇、CART和C4.5等算法,其中C4.5和CART兩種算法從ID3算法中衍生而來焚刺。

CART和C4.5支持?jǐn)?shù)據(jù)特征為連續(xù)分布時(shí)的處理敛摘,主要通過使用二元切分來處理連續(xù)型變量,即求一個(gè)特定的值-分裂值:特征值大于分裂值就走左子樹乳愉,或者就走右子樹兄淫。這個(gè)分裂值的選取的原則是使得劃分后的子樹中的“混亂程度”降低,具體到C4.5和CART算法則有不同的定義方式蔓姚。

ID3算法由Ross Quinlan發(fā)明捕虽,建立在“奧卡姆剃刀”的基礎(chǔ)上:越是小型的決策樹越優(yōu)于大的決策樹(be simple簡(jiǎn)單理論)。ID3算法中根據(jù)信息論的信息增益評(píng)估和選擇特征坡脐,每次選擇信息增益最大的特征做判斷模塊泄私。ID3算法可用于劃分標(biāo)稱型數(shù)據(jù)集,沒有剪枝的過程备闲,為了去除過度數(shù)據(jù)匹配的問題晌端,可通過裁剪合并相鄰的無法產(chǎn)生大量信息增益的葉子節(jié)點(diǎn)(例如設(shè)置信息增益閥值)。使用信息增益的話其實(shí)是有一個(gè)缺點(diǎn)恬砂,那就是它偏向于具有大量值的屬性--就是說在訓(xùn)練集中咧纠,某個(gè)屬性所取的不同值的個(gè)數(shù)越多,那么越有可能拿它來作為分裂屬性泻骤,而這樣做有時(shí)候是沒有意義的漆羔,另外ID3不能處理連續(xù)分布的數(shù)據(jù)特征乳幸,于是就有了C4.5算法。CART算法也支持連續(xù)分布的數(shù)據(jù)特征钧椰。

C4.5是ID3的一個(gè)改進(jìn)算法粹断,繼承了ID3算法的優(yōu)點(diǎn)。C4.5算法用信息增益率來選擇屬性嫡霞,克服了用信息增益選擇屬性時(shí)偏向選擇取值多的屬性的不足在樹構(gòu)造過程中進(jìn)行剪枝瓶埋;能夠完成對(duì)連續(xù)屬性的離散化處理;能夠?qū)Σ煌暾麛?shù)據(jù)進(jìn)行處理诊沪。C4.5算法產(chǎn)生的分類規(guī)則易于理解养筒、準(zhǔn)確率較高;但效率低端姚,因樹構(gòu)造過程中晕粪,需要對(duì)數(shù)據(jù)集進(jìn)行多次的順序掃描和排序。也是因?yàn)楸仨毝啻螖?shù)據(jù)集掃描渐裸,C4.5只適合于能夠駐留于內(nèi)存的數(shù)據(jù)集巫湘。

CART算法的全稱是Classification And Regression Tree,采用的是Gini指數(shù)(選Gini指數(shù)最小的特征s)作為分裂標(biāo)準(zhǔn),同時(shí)它也是包含后剪枝操作昏鹃。ID3算法和C4.5算法雖然在對(duì)訓(xùn)練樣本集的學(xué)習(xí)中可以盡可能多地挖掘信息尚氛,但其生成的決策樹分支較大,規(guī)模較大洞渤。為了簡(jiǎn)化決策樹的規(guī)模阅嘶,提高生成決策樹的效率,就出現(xiàn)了根據(jù)GINI系數(shù)來選擇測(cè)試屬性的決策樹算法CART载迄。

4讯柔、決策樹優(yōu)缺點(diǎn)

決策樹算法的優(yōu)點(diǎn):

(1)便于理解和解釋,樹的結(jié)構(gòu)可以可視化出來

(2)基本不需要預(yù)處理护昧,不需要提前歸一化魂迄,處理缺失值

(3)使用決策樹預(yù)測(cè)的代價(jià)是O(log2m),m為樣本數(shù)

(4)能夠處理數(shù)值型數(shù)據(jù)和分類數(shù)據(jù)

(5)可以處理多維度輸出的分類問題

(6)可以通過數(shù)值統(tǒng)計(jì)測(cè)試來驗(yàn)證該模型捏卓,這使解釋驗(yàn)證該模型的可靠性成為可能

(7)即使該模型假設(shè)的結(jié)果與真實(shí)模型所提供的數(shù)據(jù)有些違反极祸,其表現(xiàn)依舊良好

決策樹算法的缺點(diǎn):

(1)決策樹模型容易產(chǎn)生一個(gè)過于復(fù)雜的模型,這樣的模型對(duì)數(shù)據(jù)的泛化性能會(huì)很差慈格。這就是所謂的過擬合.一些策略像剪枝怠晴、設(shè)置葉節(jié)點(diǎn)所需的最小樣本數(shù)或設(shè)置數(shù)的最大深度是避免出現(xiàn)該問題最為有效地方法。

(2)決策樹可能是不穩(wěn)定的浴捆,因?yàn)閿?shù)據(jù)中的微小變化可能會(huì)導(dǎo)致完全不同的樹生成蒜田。這個(gè)問題可以通過決策樹的集成來得到緩解。

(3)在多方面性能最優(yōu)和簡(jiǎn)單化概念的要求下选泻,學(xué)習(xí)一棵最優(yōu)決策樹通常是一個(gè)NP難問題冲粤。因此美莫,實(shí)際的決策樹學(xué)習(xí)算法是基于啟發(fā)式算法,例如在每個(gè)節(jié)點(diǎn)進(jìn)行局部最優(yōu)決策的貪心算法梯捕。這樣的算法不能保證返回全局最優(yōu)決策樹厢呵。這個(gè)問題可以通過集成學(xué)習(xí)來訓(xùn)練多棵決策樹來緩解,這多棵決策樹一般通過對(duì)特征和樣本有放回的隨機(jī)采樣來生成。

(4)有些概念很難被決策樹學(xué)習(xí)到,因?yàn)闆Q策樹很難清楚的表述這些概念傀顾。例如XOR襟铭,奇偶或者復(fù)用器的問題。

(5)如果某些類在問題中占主導(dǎo)地位會(huì)使得創(chuàng)建的決策樹有偏差短曾。因此寒砖,我們建議在擬合前先對(duì)數(shù)據(jù)集進(jìn)行平衡。

5. 決策樹在sklearn中的一些建議

(1)當(dāng)數(shù)據(jù)的特征維度很高而數(shù)據(jù)量又很少的時(shí)候嫉拐,這樣的數(shù)據(jù)在構(gòu)建決策樹的時(shí)候往往會(huì)過擬合哩都。所以我們要控制樣本數(shù)量和特征的之間正確的比率;

(2)在構(gòu)建決策樹之前婉徘,可以考慮預(yù)先執(zhí)行降維技術(shù)(如PCA漠嵌,ICA或特征選擇),以使我們生成的樹更有可能找到具有辨別力的特征盖呼;

(3)在訓(xùn)練一棵樹的時(shí)候献雅,可以先設(shè)置max_depth=3來將樹可視化出來,以便我們找到樹是怎樣擬合我們數(shù)據(jù)的感覺塌计,然后在增加我們樹的深度挺身;

(4)樹每增加一層,填充所需的樣本數(shù)量是原來的2倍锌仅,比如我們?cè)O(shè)置了最小葉節(jié)點(diǎn)的樣本數(shù)量章钾,當(dāng)我們的樹層數(shù)增加一層的時(shí)候,所需的樣本數(shù)量就會(huì)翻倍热芹,所以我們要控制好樹的最大深度贱傀,防止過擬合;

(5)使用min_samples_split(節(jié)點(diǎn)可以切分時(shí)擁有的最小樣本數(shù)) 和 min_samples_leaf(最小葉節(jié)點(diǎn)數(shù))來控制葉節(jié)點(diǎn)的樣本數(shù)量伊脓。這兩個(gè)值設(shè)置的很小通常意味著我們的樹過擬合了府寒,而設(shè)置的很大意味著我們樹預(yù)測(cè)的精度又會(huì)降低。通常設(shè)置min_samples_leaf=5报腔;

(6)當(dāng)樹的類比不平衡的時(shí)候株搔,在訓(xùn)練之前一定要先平很數(shù)據(jù)集,防止一些類別大的類主宰了決策樹纯蛾∠朔浚可以通過采樣的方法將各個(gè)類別的樣本數(shù)量到大致相等,或者最好是將每個(gè)類的樣本權(quán)重之和(sample_weight)規(guī)范化為相同的值翻诉。另請(qǐng)注意炮姨,基于權(quán)重的預(yù)剪枝標(biāo)準(zhǔn)(如min_weight_fraction_leaf)將比不知道樣本權(quán)重的標(biāo)準(zhǔn)(如min_samples_leaf)更少偏向主導(dǎo)類別捌刮。

(7)如果樣本是帶權(quán)重的,使用基于權(quán)重的預(yù)剪枝標(biāo)準(zhǔn)將更簡(jiǎn)單的去優(yōu)化樹結(jié)構(gòu)舒岸,如mn_weight_fraction_leaf绅作,這確保了葉節(jié)點(diǎn)至少包含了樣本權(quán)值總體總和的一小部分;

(8)在sklearn中所有決策樹使用的數(shù)據(jù)都是np.float32類型的內(nèi)部數(shù)組。如果訓(xùn)練數(shù)據(jù)不是這種格式,則將復(fù)制數(shù)據(jù)集耳胎,這樣會(huì)浪費(fèi)計(jì)算機(jī)資源猾警。

(9)如果輸入矩陣X非常稀疏,建議在調(diào)用fit函數(shù)和稀疏csr_matrix之前轉(zhuǎn)換為稀疏csc_matrix,然后再調(diào)用predict。 當(dāng)特征在大多數(shù)樣本中具有零值時(shí),與密集矩陣相比役拴,稀疏矩陣輸入的訓(xùn)練時(shí)間可以快幾個(gè)數(shù)量級(jí)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钾埂,一起剝皮案震驚了整個(gè)濱河市河闰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌褥紫,老刑警劉巖姜性,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異髓考,居然都是意外死亡部念,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門氨菇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來儡炼,“玉大人,你說我怎么就攤上這事查蓉∥谘” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵豌研,是天一觀的道長妹田。 經(jīng)常有香客問我,道長鹃共,這世上最難降的妖魔是什么鬼佣? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮及汉,結(jié)果婚禮上沮趣,老公的妹妹穿的比我還像新娘屯烦。我一直安慰自己坷随,他們只是感情好房铭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著温眉,像睡著了一般缸匪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上类溢,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天凌蔬,我揣著相機(jī)與錄音,去河邊找鬼闯冷。 笑死砂心,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蛇耀。 我是一名探鬼主播辩诞,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼纺涤!你這毒婦竟也來了译暂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤撩炊,失蹤者是張志新(化名)和其女友劉穎外永,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拧咳,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伯顶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骆膝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砾淌。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖谭网,靈堂內(nèi)的尸體忽然破棺而出汪厨,到底是詐尸還是另有隱情,我是刑警寧澤愉择,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布劫乱,位于F島的核電站,受9級(jí)特大地震影響锥涕,放射性物質(zhì)發(fā)生泄漏衷戈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一层坠、第九天 我趴在偏房一處隱蔽的房頂上張望殖妇。 院中可真熱鬧,春花似錦破花、人聲如沸谦趣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽前鹅。三九已至摘悴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間舰绘,已是汗流浹背蹂喻。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捂寿,地道東北人口四。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像秦陋,于是被迫代替她去往敵國和親窃祝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

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

  • 決策樹理論在決策樹理論中踱侣,有這樣一句話粪小,“用較少的東西,照樣可以做很好的事情抡句。越是小的決策樹探膊,越優(yōu)于大的決策樹”。...
    制杖灶灶閱讀 5,851評(píng)論 0 25
  • 簡(jiǎn)單介紹 ??機(jī)器學(xué)習(xí)主要分為倆大類:分類問題和回歸問題待榔。決策樹是常用的分類學(xué)習(xí)算法逞壁,當(dāng)然也能用于處理回歸問題,同...
    Daoba閱讀 19,304評(píng)論 0 4
  • 決策樹 1.概述 決策樹由節(jié)點(diǎn)和有向邊組成锐锣,節(jié)點(diǎn)有兩種類型腌闯,內(nèi)部節(jié)點(diǎn)和葉節(jié)點(diǎn),內(nèi)部節(jié)點(diǎn)表示一個(gè)特征或?qū)傩缘胥荆~節(jié)點(diǎn)表...
    Evermemo閱讀 2,293評(píng)論 0 1
  • 基本概念 決策樹(decision tree)是一種常見的機(jī)器學(xué)習(xí)方法姿骏,它是基于樹結(jié)構(gòu)來進(jìn)行決策的,這恰是人類在面...
    司馬安安閱讀 1,496評(píng)論 0 3
  • 小青十八歲了斤彼,這在村子里已然到了出嫁的年齡分瘦。小青奶奶逢人就拜托,有條件好點(diǎn)的就給我們家娃說說啊琉苇。 其實(shí)小青有喜歡的...
    lixueqing閱讀 185評(píng)論 0 0