決策樹(二)關於的決策樹的一些思考

2022-07-22 08:27:09 字數 1553 閱讀 2300

如果我可以使用邏輯回歸解決分類問題和線性回歸解決回歸問題,為什麼需要使用樹模型? 我們很多人都有這個問題。 實際上,你可以使用任何演算法。 這取決於你要解決的問題型別。 其中有一些關鍵因素,它們將幫助你決定使用哪種演算法:

過度擬合是決策樹建模時面臨的主要挑戰之一。 如果沒有限制,它將為您提供100%的訓練集準確性,因為在最壞的情況下,它最終會為每個觀察結果製作1片葉子。 因此,在對決策樹進行建模時,防止過度擬合是關鍵,可以通過兩種方式完成:

讓我們簡單地討論這兩個問題。

這可以通過使用用於定義樹的各種引數來完成。 首先,讓我們看一下決策樹的一般結構:

樹修剪(tree pruning)

通過修剪可以進一步提高樹的效能。 它刪除不重要性的特徵的分支, 這樣,我們降低了樹的複雜性,從而通過減少過度擬合來提高其**能力。

修剪可以從根或葉開始。 最簡單的修剪方法從葉子開始,並刪除該葉子中所屬類的每個節點,如果不降低精度,則保持這種變化。 它也稱為減少錯誤修剪。 可以使用更複雜的修剪方法,例如成本複雜性修剪,其中使用學習引數(α)來權衡是否可以基於子樹的大小來移除節點。 這也被稱為最薄弱的鏈結修剪。

cart的優點

cart的缺點

在這種方法中,可用資料被分成兩組:用於形成學習假設的訓練集和用於評估該假設的準確性的單獨驗證集,特別是用於評估 修剪這個假設的影響。

動機是這樣的:即使學習者可能被訓練集內的隨機錯誤和巧合規律誤導,驗證集也不太可能表現出相同的隨機波動。 因此,可以預期驗證集可以提供針對過度擬合的安全檢查。

當然,驗證集必須足夠大,以便自身提供統計上顯著的例項樣本。 一種常見的啟發式方法是保留驗證集中可用示例的三分之一,使用其他三分之二進行訓練。

一種稱為減少錯誤修剪(quinlan 1987)的方法是將樹中的每個決策節點視為修剪的候選者。修剪決策節點包括刪除以該節點為根的子樹,使其成為葉節點,並為其分配與該節點關聯的訓練示例的最常見分類。

僅當生成的修剪樹在驗證集上執行的情況不比原始情況差時,才會刪除節點。迭代地修剪節點,總是選擇其移除最多地增加決策樹精度而不是驗證集的節點。節點的修剪繼續,直到進一步修剪是有害的(即,降低樹在驗證集上的準確性)。

減少錯誤修剪在決策樹學習中的作用:隨著節點從樹中刪除,測試集的準確度會提高。 這裡,用於修剪的驗證集與訓練集和測試集都不同。未顯示用於修剪的驗證集的準確性。

另外,可用資料被分成三個子集:訓練樣例,用於修剪樹的驗證示例,以及一組用於在未來看不見的示例中提供無偏估計精度的測試示例。

如果有大量資料可用,則使用一組單獨的資料來指導修剪是一種有效的方法。一種常見的啟發式方法是:訓練集佔所有資料的60%,驗證集佔20%,測試集佔20%。這種方法的主要缺點是,當資料有限時,為驗證集扣留部分資料會減少甚至還有可用於培訓的例子。

決策樹(二)決策樹回歸

回歸 決策樹也可以用於執行回歸任務。我們首先用sk learn的decisiontreeregressor類構造一顆回歸決策樹,並在乙個帶雜訊的二次方資料集上進行訓練,指定max depth 2 import numpy as np quadratic training set noise np.r...

決策樹系列(一)決策樹基礎

機器學習按資料的使用方式來說可以分為有監督學習 無監督學習 半監督學習 強化學習等,機器學習中的演算法還有另外一種劃分方式 分類 聚類 回歸。但我更喜歡分為兩種 廣義的分類 分類 聚類 和回歸,這裡是按照 的結果是離散資料還是連續資料來劃分的。今天要介紹的決策樹就是分類演算法中的一種。在介紹機器學習...

決策樹01 決策樹的原理

此筆記根據 machine learning in action 和周志華教授的 機器學習 所作。缺點 可能會產生過度匹配問題。適用資料型別 數值型和標稱型 machine learning in action if so return 類標籤 else 尋找劃分資料集的最好特徵 劃分資料集 建立分...