樹修剪的方法有哪些?
修剪是縮小決策樹尺寸的過程。可以透過確定樹的尺寸或消除支援較小功能的樹的區域來降低過度擬合的風險。修剪透過修剪因噪聲或異常值在訓練資訊中出現的異常分支,以提高樹的泛化效率的方式來支援原始樹。
各種方法通常使用統計措施來刪除最不可靠的部門,通常可以加快分類速度,並提高樹正確分類獨立測試資料的功能。
樹修剪有以下兩種方法:
預修剪方法
在預修剪方法中,透過儘早完成樹的構建(例如,確定不再在給定節點處進一步劃分或分割訓練樣本的子集)來“修剪”樹。經過停止後,該節點變為葉節點。該葉節點會影響子集樣本中最常見的類別或那些樣本的機率分佈。
建立樹時,可以使用諸如統計顯著性、x2、資訊增益等的度量來建立分割的寬宏性。如果在某個節點處對樣本進行分割槽會導致分割低於預先指定的門檻,那麼對給定子集的分割就會停止。選擇適當的門檻存在問題。高門檻會導致樹過於簡單,而低門檻會導致簡化程度極低。
後剪枝方法
後剪枝方法從“完全成長”的樹中刪除分支。透過移除其分支來剪修樹節點。價格複雜度剪枝演算法是後剪枝方法的一個例項。被剪的節點變成了葉節點,並由其先前分支之間的最常見類標記。
對於樹中的每個非葉節點,該演算法計算如果該節點處的子樹被縮短後可能出現的預期錯誤率。接下來,透過根據沿每個分支的觀察維度加權連線每個分支的錯誤率來計算如果節點未被剪枝而出現的預期錯誤率。如果剪枝節點導致更高的預期錯誤率,則保留子樹。因此,它被剪枝了。
在建立了一組越來越多的剪枝樹後,一個獨立的測試集可以估算每棵樹的效率。最能降低預期錯誤成本的決策樹是首選。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP