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