1. 程式人生 > >機器學習方法篇(4)------決策樹剪枝

機器學習方法篇(4)------決策樹剪枝

● 每週一言

冰凍三尺,非一日之寒;水滴石穿,非一日之功。

導語

由於決策樹的分支過多,使得訓練集某一小部分的樣本特徵被當成所有樣本所具有的一般性質,會導致過擬合現象,而決策樹應對過擬合的主要辦法就是剪枝。那麼,決策樹的剪枝具體是如何操作的?

剪枝

決策樹的剪枝分為預剪枝和後剪枝兩種。顧名思義,預剪枝在建樹過程中進行,而後剪枝則在建樹完成之後才進行。

fig1

預剪枝 如上一節所講建樹過程,節點依據資訊增益和增益率擴充套件子節點,在這個過程中,驗證集的整體準確率會隨著節點的擴充套件發生變化。某次擴充套件如果導致驗證集當前分類準確率降低,則捨棄,這便是預剪枝。

預剪枝不僅能降低過擬合風險,還大大降低了決策樹的建樹時間複雜度。但是,由於預剪枝使用貪心策略決定是否展開分支,不能全域性權衡利弊,也給最終模型帶來了欠擬合風險。

fig2

後剪枝 後剪枝是一種全域性優化方法。當決策樹建樹完成也就是全部節點都展開後,後剪枝從下往上依次考查各個非葉子結點,考察方法和預剪枝一樣,若當前節點的擴充套件在驗證集上並未提高準確率,則捨棄。

後剪枝既降低了過擬合風險,又降低了欠擬合風險。但是,後剪枝由於是在生成完整決策樹之後進行,因此模型的整體時間複雜度會比較高。

結語

感謝各位的耐心閱讀,後續文章於每週日奉上,敬請期待。歡迎大家關注小鬥公眾號 對半獨白

face