2012-07-20 92 views

回答

14

未修剪的樹木較大。會發生什麼,基本上樹是根據實現的算法創建的,如果啓用修剪,則額外的步驟將查看可以刪除哪些節點/分支,而不會影響性能太多。

修剪背後的想法是,除了讓樹更易於理解,您可以減少過度訓練數據的風險。也就是說,能夠將訓練數據(幾乎)完全分類,但沒有別的,因爲樹不是學習基本概念,而是學習了訓練數據固有的和特定的屬性。

+0

第一句可能是錯的。未修剪的樹木*較大*,對嗎? – stackoverflowuser2010 2012-08-07 21:54:37

+0

哎呀,對,對不起。我會改變這一點。 – 2012-08-08 08:01:37

1

鑑於Weka的是機器學習套件,聽起來這是什麼原因,他們指的是:

http://en.wikipedia.org/wiki/Pruning_(decision_trees)

總之決策樹的修剪似乎是去除可能決定其沒有多少好處。

但是,我沒有使用weka,我不熟悉它。推遲其他答案,看看他們說的話是否有意義。

5

我想補充以下內容給拉爾斯的答案。採取從以下link

許多算法試圖「修剪」,或簡化其結果。修剪產生更少,更容易解釋的結果。更重要的是,修剪可以作爲一種工具來糾正潛在的過度擬合。 ...

J48採用兩種修剪方法。

第一個被稱爲子樹替換。這意味着決策樹中的節點可能會被替換爲一個葉 - 基本上減少了沿某個路徑的測試次數。這個過程從完全形成的樹的葉子開始,向後朝向根。

在J48中使用的第二種類型的修剪被稱爲子樹提升。在這種情況下,節點可以向上移動到樹的根部,替換沿途的其他節點。子樹通常​​對決策樹模型的影響可以忽略不計。通常沒有明確的方法來預測該選項的實用性,儘管如果誘導過程花費很長時間,嘗試關閉它可能是明智的。這是因爲子樹的提升在計算上可能有些複雜。