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