2012-01-13 127 views
1

当训练集中的例子太少时,如何使用ID3修剪决策树的构建。修剪决策树

我不能把它分成训练,验证和测试集,所以这是不可能的。

是否有任何可能使用的统计方法或类似的东西?

回答

2

是的,当您的数据量较低时,可以使用交叉验证来训练和修剪您的数据集。这个想法很简单。你把你的数据分成N组,并用N-1个树训练你的树。最后一组用作修剪测试集。然后你选择另外一组N套离开,并做同样的事情。重复此操作,直到你排除所有集合。这意味着你会建立N棵树。您将使用这N棵树来计算树的最佳大小,然后使用计算对整个数据集进行训练,以修剪该树。这比我在这里可以有效描述的要复杂得多,但是这里有一篇关于如何将交叉验证适配到ID3的文章。

dW1eIKA87pO6eAVtIow“> http://www.google.com/url?sa=t & RCT = j的& Q = & ESRC = S &源=幅& CD = 1 & VED = 0CE4QFjAA & URL = HTTP% 3A%2F%2Fjmlr.csail.mit.edu%2Fpapers%2Fvolume3%2Fblockeel02a%2Fblockeel02a.ps & EI = iwDcT8XfE5KY8gT2oYW7Cg & USG = AFQjCNFHY29x3_dW1eIKA87pO6eAVtIow

大量的研究已经在它就是交叉验证的正确分割,并进行被发现N = 10给出了给定额外处理时间的最佳结果。交叉验证增加了你的计算(N次),但是当数据量较小时,它可以克服少量样本。而且由于你没有太多的数据,这意味着使用交叉验证并不是那么糟糕的计算。