3

我想知道,如果我從訓練和驗證集建立決策樹ID3一樣,但A是未修剪的效果。 與此同時,我還在ID3中生成了另一個決策樹B,它由相同的訓練和驗證集合生成,但B被修剪。 現在我在未來的未標記測試集上測試A和B,修剪後的樹總是會表現得更好? 歡迎任何想法,謝謝。決策樹修剪

+0

您是否在尋找特定的情況下修剪樹可能表現更差? – 2010-10-21 22:05:19

回答

3

,我認爲我們需要區分更加清晰:修剪樹木總是執行對驗證一套更好的,但不一定等等測試集(實際上也是等於或性能差的培訓設置)。我假設修剪是在修剪樹後完成的(即:修剪後)。

請記住,使用驗證集的全部原因是爲了避免過度擬合而不是訓練數據集,並且密鑰這裏指的是概括:我們想要一個模型(決策樹),它將在「訓練時間」提供的實例擴展到新的看不見的例子。

1

修剪是應該防止過度擬合,以提高分類。由於修剪只會在驗證集上提高分類率時纔會發生,因此在驗證過程中,修剪後的樹的性能會好於未修剪的樹。

+0

OP從來沒有提到交叉驗證,我認爲你的意思是驗證集 – Amro 2010-10-21 23:43:52

+0

@Amro:對,在交叉驗證期間的驗證集上。我會解決這個問題。 – Jacob 2010-10-21 23:51:24

0

壞修剪可能會導致錯誤的結果。雖然減少決策樹大小通常是需要的,但通常在修剪時您的目標是獲得更好的結果。所以如何是修剪的關鍵。

0

我同意@AMRO第1個答案。 Post-pruning是決策樹修剪最常用的方法,它在樹建立後完成。但是,Pre-pruning也可以完成。在pre-pruning中,通過使用指定的閾值,通過提早停止其構建來修剪樹。例如,通過決定不在給定節點處分割訓練元組的子集。

然後該節點成爲一個葉子。這個葉子可以保存元組子集中最頻繁的類或這些元組的概率。