2013-02-08 87 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%的测试数据。