決策樹(shù)(decisiontree)是一個(gè)樹(shù)結(jié)構(gòu)(可以是二叉樹(shù)或者非二叉樹(shù))。決策樹(shù)分為分類(lèi)樹(shù)和回歸樹(shù)兩種,分類(lèi)樹(shù)對(duì)離散變量做決策樹(shù),回歸樹(shù)對(duì)連續(xù)變量做決策樹(shù)。
其中每個(gè)非葉節(jié)點(diǎn)表示一個(gè)特征屬性上的測(cè)試,每個(gè)分支代表這個(gè)特征屬性在某個(gè)值域上的輸出,而每個(gè)葉節(jié)點(diǎn)存放在一個(gè)類(lèi)別。
使用決策樹(shù)進(jìn)行決策的過(guò)程就是從根節(jié)點(diǎn)開(kāi)始,測(cè)試待分類(lèi)項(xiàng)中相應(yīng)的特征屬性,并按照其值選擇輸出分支,直到到達(dá)葉子節(jié)點(diǎn),將葉子節(jié)點(diǎn)存放的類(lèi)別作為決策結(jié)果。
決策樹(shù)的組成,分為三個(gè):根節(jié)點(diǎn);非葉子節(jié)點(diǎn)與分支;葉子節(jié)點(diǎn)。具體意思如下:
根節(jié)點(diǎn):第一個(gè)選擇點(diǎn)
非葉子節(jié)點(diǎn)與分支:中間過(guò)程
葉子節(jié)點(diǎn):最終的決策結(jié)果
當(dāng)然我們也發(fā)現(xiàn):一旦構(gòu)造好了決策樹(shù),那么分類(lèi)或預(yù)測(cè)任務(wù)就很簡(jiǎn)單了,只需要走一遍即可,但是難點(diǎn)就在于如何構(gòu)造出來(lái)一棵樹(shù)。構(gòu)造樹(shù)需要考慮的問(wèn)題有很多。
1.決策樹(shù)學(xué)習(xí)算法主要由三部分構(gòu)成
2.特征選擇
特征選擇是指從訓(xùn)練數(shù)據(jù)中眾多的特征中選擇一個(gè)特征作為當(dāng)前節(jié)點(diǎn)的分裂標(biāo)準(zhǔn),如何選擇特征有著很多不同量化評(píng)估標(biāo)準(zhǔn),從而衍生出不同的決策樹(shù)算法。
3.決策樹(shù)生成
根據(jù)選擇的特征評(píng)估標(biāo)準(zhǔn),從上至下遞歸地生成子節(jié)點(diǎn),直到數(shù)據(jù)集不可分則停止決策樹(shù)停止生長(zhǎng)。樹(shù)結(jié)構(gòu)來(lái)說(shuō),遞歸結(jié)構(gòu)是最容易理解的方式。
4.決策樹(shù)的剪枝
決策樹(shù)容易過(guò)擬合,一般來(lái)需要剪枝,縮小樹(shù)結(jié)構(gòu)規(guī)則,緩解過(guò)擬合,剪枝技術(shù)有預(yù)剪枝和后剪枝兩種。
預(yù)剪枝:邊建立決策樹(shù)邊進(jìn)行剪枝的操作(更實(shí)用),預(yù)剪枝需要限制深度,葉子節(jié)點(diǎn)個(gè)數(shù),葉子節(jié)點(diǎn)樣本數(shù),信息增益量等。
后剪枝:當(dāng)建立完決策樹(shù)后來(lái)進(jìn)行剪枝操作,通過(guò)一定的衡量標(biāo)準(zhǔn)(葉子節(jié)點(diǎn)越多,損失越大)
以上內(nèi)容為大家介紹了Python決策樹(shù)算法思想,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。