剪枝是決策樹學習演算法解決過擬合的主要手段。在決策樹的學習過程中,為了盡可能地正確分類訓練樣本,節點劃分得不斷重複,有時候會造成決策樹的分支過多,這時候就是演算法在訓練樣本上學得太好,導致把訓練集本身的一些特點作為所有資料所有資料都有的一般性質(實際上新資料中可能沒有這些特點),從而導致過擬合。因此可以主動去掉一些分支來降低過擬合的風險。
決策樹的剪枝分為預剪枝和後剪枝。
預剪枝,是指在決策樹生成過程中,對每個節點在劃分前先進行估計,若當前的節點劃分不能帶來決策樹泛化的提公升,則停止劃分並將當前節點標記為葉子節點。
後剪枝,是指先從訓練資料集中生成一課完整的決策樹,然後自底向上對非葉子節點進行考察,若將該節點對應的子樹替換為葉子結點能夠帶來決策樹泛化能力的提公升,則將該節點替換為葉子節點。
(注:葉子節點的類別指定為 訓練資料集中數量最大的類別)
預剪枝
在某個節點的預剪枝的估計建立在已經確定最優劃分屬性的前提之上,要不要以該屬性對當前節點進行劃分,還得先計算泛化能力是否有提高。
在預剪枝中,泛化能力的計算依賴於驗證資料集。驗證精度的計算是將驗證資料集輸入決策樹模型進行判別,取正例樣本數量與驗證集樣本數量的比值(百分比)。劃分前驗證精度由上一步計算給出。泛化能力的提高與否,要對比劃分前後驗證集的大小。
預剪枝基於「貪心」本質禁止這些分支的展開,給預剪枝決策樹帶來欠擬合的風險。
後剪枝
將驗證集輸入到決策樹演算法,計算出剪枝前的驗證精度。然後,找到最底下的非葉子結點,(模擬)將其領先的分支去除,取其中數量最大的分類作為該節點的判別標記。然後計算剪枝後的驗證精度。通過對比剪枝前後的驗證精度,來確定是否需要進行剪枝。
剪枝處理總結:
後剪枝決策樹通常比預剪枝決策樹保留更多的分支,一般情形下,後剪枝決策樹的欠擬合風險小,泛化能力往往優於預剪枝。但後剪枝決策樹訓練開銷比預剪枝大得多。
決策樹剪枝
剪枝是決策樹學習演算法中對付過擬合的主要手段,決策樹剪枝的基本策略有預剪枝和後剪枝 預剪枝 是指在決策樹生成過程中,對每個節點在劃分前先進行估計,若當前的劃分不能帶來泛化效能的提公升,則停止劃分,並將當前節點標記為葉節點 後剪枝 是指先從訓練集生成一顆完整的決策樹,然後自底向上對非葉節點進行考察,若...
決策樹的剪枝操作
決策樹 decision tree 在已知各種情況發生概率的基礎上,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種 法。由於這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。擬合 所謂擬合是指已知某函式的若干離散函式值,通過調整...
決策樹剪枝的思想
1.決策樹剪枝 決策樹是一種分類器,通過id3,c4.5和cart等演算法可以通過訓練資料構建乙個決策樹。但是,演算法生成的決策樹非常詳細並且龐大,每個屬性都被詳細地加以考慮,決策樹的樹葉節點所覆蓋的訓練樣本都是 純 的。因此用這個決策樹來對訓練樣本進行分類的話,你會發現對於訓練樣本而言,這個樹表現...