1.決策樹剪枝
決策樹是一種分類器,通過id3,c4.5和cart等演算法可以通過訓練資料構建乙個決策樹。但是,演算法生成的決策樹非常詳細並且龐大,每個屬性都被詳細地加以考慮,決策樹的樹葉節點所覆蓋的訓練樣本都是「純」的。因此用這個決策樹來對訓練樣本進行分類的話,你會發現對於訓練樣本而言,這個樹表現完好,誤差率極低且能夠正確得對訓練樣本集中的樣本進行分類。訓練樣本中的錯誤資料也會被決策樹學習,成為決策樹的部分,但是對於測試資料的表現就沒有想象的那麼好,或者極差,這就是所謂的過擬合(overfitting)問題。
決策樹剪枝主要可以分為兩種:預剪枝和後剪枝
預剪枝(pre-pruning)
在構造決策樹的同時進行剪枝。所有決策樹的構建方法,都是在無法進一步降低熵的情況下才會停止建立分支的過程,為了避免過擬合,可以設定乙個閾值,熵減小的數量小於這個閾值,即使還可以繼續降低熵,也停止繼續建立分支。但是這種方法實際中的效果並不好,因為在實際中,面對不同問題,很難說有乙個明確的閾值可以保證樹模型足夠好,當然在xgboost和lightgbm裡面有一些引數例如min_child_weight也算是設定了**節點的權重值,像xgboost之類已經把過擬合寫進損失函式中了,因此不需要有剪枝的過程。
後剪枝(post-pruning)
後剪枝的剪枝過程是刪除一些子樹,然後用其葉子節點代替,在剪枝過程中, 將一些子樹刪除而用葉節點代替,這個葉節點所標識的類別用這棵子樹中大多數訓練樣本所屬的類別來標識。
決策樹構造完成後進行剪枝。剪枝的過程是對擁有同樣父節點的一組節點進行檢查,判斷如果將其合併,熵的增加量是否小於某一閾值。如果確實小,則這一組節點可以合併乙個節點,其中包含了所有可能的結果。後剪枝是目前最普遍的做法。
剪枝作為決策樹後期處理的重要步驟,是必不可少的。沒有剪枝,就是乙個完全生長的決策樹,是過擬合的,需要去掉一些不必要的節點以使得決策樹模型更具有泛化能力。
決策樹剪枝
剪枝是決策樹學習演算法中對付過擬合的主要手段,決策樹剪枝的基本策略有預剪枝和後剪枝 預剪枝 是指在決策樹生成過程中,對每個節點在劃分前先進行估計,若當前的劃分不能帶來泛化效能的提公升,則停止劃分,並將當前節點標記為葉節點 後剪枝 是指先從訓練集生成一顆完整的決策樹,然後自底向上對非葉節點進行考察,若...
決策樹的剪枝操作
決策樹 decision tree 在已知各種情況發生概率的基礎上,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種 法。由於這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。擬合 所謂擬合是指已知某函式的若干離散函式值,通過調整...
決策樹的剪枝處理
剪枝是決策樹學習演算法解決過擬合的主要手段。在決策樹的學習過程中,為了盡可能地正確分類訓練樣本,節點劃分得不斷重複,有時候會造成決策樹的分支過多,這時候就是演算法在訓練樣本上學得太好,導致把訓練集本身的一些特點作為所有資料所有資料都有的一般性質 實際上新資料中可能沒有這些特點 從而導致過擬合。因此可...