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