決策樹如何做剪枝


預剪枝

就是在決策樹生成過程中,在每次划分時,考慮是否能夠帶來決策樹性能的提升。如果可以提升決策樹的性能則會進行划分。如果不能則會停止生長。
一般的方法有如下幾種:

  1. 當樹的深度達到一定的規模,則停止生長。
  2. 達到當前節點的樣本數量小於某個閾值的時候。
  3. 計算每次分裂對測試集的准確性提升,當小於某個閾值,或不再提升甚至有所下降時,停止生長。
  4. 當信息增益,增益率和基尼指數增益小於某個閾值的時候不在生長。

優缺點

  • 優點:思想簡單,算法高效,采用了貪心的思想,適合大規模問題。
  • 缺點:提前停止生長,有可能存在欠擬合的風險。

后剪枝

  1. 錯誤率降低剪枝(REP)
  2. 悲觀剪枝(PEP)
  3. 代價復雜度剪枝(CCP)
  4. 最小誤差剪枝(MEP)
  5. CVP (Critical Value Pruning)
  6. OPP (Optimal Pruning)
    本文以西瓜書為例,錯誤率降低剪枝(REP)。
    將數據分為訓練集和測試集,用訓練集去生成一顆完整的決策樹,用測試集去剪枝。
    該算法將樹上的每個節點都作為剪枝的候選對象,通過如下步驟進行剪枝操作:
  • step1:刪除以此節點為根節點的樹,
  • step2:使其成為葉子結點,賦予該節點最常見的分類
  • step3:對比刪除前和刪除后的性能是否有所提升,如果有則進行刪除,沒有則保留。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM