2013-02-08 92 views
0

所以即時編寫決策樹程序。 可以說我有一個1000個實例的數據集。 據我瞭解 - 交叉驗證我將數據集分成900-100組。每次使用 使用不同的900組創建樹和100測試它決策樹交叉驗證問題

我不明白的是這些問題: 1.哪棵樹我用作我的最終決策樹(選擇一個與最小錯誤不是一個好的選擇,因爲我猜它可能是因爲過度擬合) 2.交叉驗證僅用於估計最終樹中的錯誤嗎? 3.我發現了一些關於交叉驗證的不同算法,有些使用了相同的分裂準則,有些使用了不同的算法來選擇最佳的樹 - 你能指點我一個有信息的好地方,所以我可以弄清楚什麼是什麼我需要?或解釋你的自我?

謝謝!

回答

1

Cross validation用於估算您的模型預測的精確度

最好的樹應該包含最好的分類器。即分離數據的屬性,因此您可以使用該屬性開始構建決策樹。

我建議你搜索過WikipediaUncle Google獲得更多的信息關於decision trees

+0

我知道最好的樹應該包含最好的屬性,它將數據很好地分開......這就是決策樹的要點。有很多方法可以決定哪個屬性是最好的(即增益比率,信息增益,基尼指數等) - 我的問題是 - 如何交叉驗證幫助我,如果它確實,選擇我決定分裂的方式標準 – ABR 2013-02-08 13:22:51

+0

http://stackoverflow.com/questions/2314850/help-understanding-cross-validation-and-decision-trees?rq=1 – ogzd 2013-02-08 13:24:33

0
  1. 挑選一個對測試數據進行最好的樹。

  2. 交叉驗證被用作培訓的一部分來調整您的結果。測試數據用於檢查最終樹的錯誤。

  3. 你需要一個完全獨立的測試集(否則你會污染你的結果)。

    因此,將數據分爲400列,100列交叉驗證和500列測試。你如何選擇將其分開很大程度取決於你有多少數據可用,以及你試圖解決的問題有多複雜。交叉驗證通常佔培訓數據的10%左右。如果你有很多數據或一個簡單的問題,你可以達到50-50(訓練+交叉驗證)測試,但是如果你只有少量的數據或複雜的問題,你可能想要減少它低至10%的測試數據。