如何利用剪枝方法設計更好的決策樹
譯文決策樹(DT)是一種有監督的機器學習算法,用于解決分類和回歸問題。以下了解一下如何使用剪枝(Pruning)方法設計一個決策樹。
決策樹分析是一種通用的、預測性的機器學習建模工具。它是機器學習最簡單、最有用的結構之一,通過使用一種根據不同條件拆分數據集的算法方法構建了決策樹。而決策樹是監督學習中常用的功能性技術之一。
但在采用剪枝方法設計決策樹之前,需要了解它的概念。
理解決策樹
決策樹是一種有監督的機器學習算法,用于解決分類和回歸問題。決策樹遵循一組嵌套的if-else語句條件來進行預測。由于決策樹主要用于分類和回歸,因此用于生長它們的算法稱為CART(分類和回歸樹)。并且提出了多種算法來構建決策樹。決策樹旨在創建一個模型,通過學習從數據特征推斷出的簡單決策規則來預測目標變量的值。
決策樹的每個節點代表一個決策。
在上圖中,根節點是深度為零的決策樹圖的起點。然后是進行二叉決策的子節點/內部節點。最后,還有葉節點,用于對類別進行預測。
有助于構建決策樹的算法旨在從變量及其屬性中預測目標變量。決策樹的結構是通過從根節點到分支的二叉序列進行分割的。內容要到達決策樹中的葉節點,必須傳遞多個內部節點來檢查所做的預測。
構建決策樹時的假設
使用決策樹時必須做出的一些假設是:
- 整個訓練集是根。
- 最好有分類特征值。在構建決策樹模型之前使用離散值。
- 屬性值用于遞歸分發記錄。
- 統計方法用于確定應將哪些屬性放置為決策樹的根節點或內部節點。
在決策樹中使用乘積和(SOP)或析取范式表示。
一個類中的每個分支,從根到具有不同分支結尾的決策樹的葉節點形成一個析取(和),同一個類則形成值的合取(乘積)。
為什么選擇決策樹?
決策樹遵循與人類在現實生活中做出決策相同的過程,使其更易于理解。這對于解決機器學習中的決策問題至關重要。它普遍用于訓練機器學習模型的原因是因為決策樹有助于思考問題的所有可能結果。此外,與其他算法相比,對數據清理的要求更少。
但是,決策樹也有它的局限性,那就是過擬合。
決策樹中的過擬合
過擬合是決策樹中的一個重要的難題。如果允許決策樹增長到最大深度,它將總是過擬合訓練數據。當決策樹被設計為完美擬合訓練數據集中的所有樣本時,就會發生過擬合。因此,決策樹最終會產生具有嚴格稀疏數據規則的分支,這會通過使用不屬于訓練集的樣本來影響預測的準確性。決策樹越深,決策規則序列就越復雜。而分配最大深度是簡化決策樹和處理過擬合的最簡單方法。
但是如何以更精確的方式改進決策樹模型呢?以下進行一下了解。
如何通過剪枝防止決策樹中的過擬合?
剪枝是一種用于消除決策樹中過擬合的技術。它通過消除最弱規則來簡化決策樹,可以進一步分為:
- 預剪枝是指通過設置約束來限制決策樹在早期階段的生長。為此,可以使用超參數調整來設置min_samples_split、min_samples_leaf或max_depth等參數。
- 在構建決策樹之后使用后剪枝方法。當決策樹變得非常深入并顯示模型過擬合時使用它。為此,還將通過成本復雜性剪枝來控制決策樹分支,例如max_samples_split和max_depth。
剪枝從一棵未剪枝的決策樹開始。然后獲取子樹序列,通過交叉驗證選擇最佳的子樹序列。
剪枝可以確保子樹是最優的,這一點很重要,也就是說它具有更高的精度,并且最優子樹搜索在計算上是易于處理的。因此,剪枝不僅應該減少過擬合,而且還應該使決策樹比未剪枝的決策樹更簡單、更容易理解和更有效地解釋,同時保持其性能。
結語
現在人們知道決策樹屬于一種有監督的機器學習算法。與其他監督學習算法相比,決策樹也可用于解決分類和回歸問題。
決策樹用于構建模型,以基于從先前訓練數據中得出的簡單決策規則來預測變量值或類別。剪枝有助于決策樹做出精確的決策,同時降低其復雜性并設置約束。
原文標題:How to Design a Better Decision Tree With Pruning,作者:Mahipal Nehra