決策樹剪枝是一種防止決策樹過擬合的一種正則化方法;提高其泛化能力。決策樹在訓練過程中如果生長過深、過于復雜,會過度擬合訓練數據中的噪聲和異常值,導致在新數據上表現不佳。剪枝通過簡化樹結構,去除不必要的分支,從而提升模型的魯棒性。
????????? ? ? ?
一、剪枝的目的
- 減少模型復雜度
- 防止過擬合
- 提高在測試集上的預測性能
- 增強模型的可解釋性
二、剪枝的類型
剪枝主要分為兩類:預剪枝(Pre-pruning) 和 后剪枝(Post-pruning)
1. 預剪枝(Pre-pruning)——提前停止
在決策樹構建過程中,提前終止樹的生長。
常見停止條件:
- 樹的深度達到預設最大值
- 節點中的樣本數少于閾值
- 節點的不純度下降小于閾值(如信息增益 < ε)
- 節點中所有樣本屬于同一類別
- 沒有更多特征可用于劃分
優點:
- 計算開銷小
- 訓練速度快
缺點:
- 容易欠擬合:可能過早停止,錯過潛在的有效劃分(“貪心”問題)
- 閾值選擇敏感,需通過驗證集調整
? 適用于對訓練時間敏感的場景。
2. 后剪枝(Post-pruning)——先生成再簡化
先讓決策樹充分生長(直到每個葉節點純或滿足最小樣本數),然后自底向上地對非葉節點進行評估,判斷是否應將其子樹替換為葉節點。
優點:
- 通常比預剪枝效果更好
- 能保留更多有效結構,避免欠擬合
缺點:
- 計算成本高(需先建完整樹)
- 實現較復雜