在weka中,如何检查诱导树是否过度拟合训练数据?
修改 的
所以现在这些是我的随机森林分类器在大型训练集和更小的验证集(基于大型训练集的类比率动态生成)的基础上的结果。 / p>
你说如果过度拟合,测试集的性能(我称之为验证集)会下降得非常糟糕吗?但在这种情况下,它似乎没有太多下降。
大型训练集(25000条记录)
=== Evaluation on training set ===
=== Summary ===
Correctly Classified Instances 24849 99.3563 %
Incorrectly Classified Instances 161 0.6437 %
Kappa statistic 0.9886
Mean absolute error 0.0344
Root mean squared error 0.0887
Relative absolute error 30.31 %
Root relative squared error 37.2327 %
Total Number of Instances 25010
验证集(IID?)(5000条记录)
=== Evaluation on training set ===
=== Summary ===
Correctly Classified Instances 4951 99.02 %
Incorrectly Classified Instances 49 0.98 %
Kappa statistic 0.9827
Mean absolute error 0.0402
Root mean squared error 0.0999
Relative absolute error 35.269 %
Root relative squared error 41.8963 %
Total Number of Instances 5000
答案 0 :(得分:0)
如果我没有错,那么上面显示的关于在完整数据集(Training)上评估分类器的准确性的输出结果,不是要对任何测试数据进行分类,以获得完整的准确度结果您需要使用Train / Test Splits,或者您可以使用外部测试分割,这将提供关于分类器结果的更好的想法。
答案 1 :(得分:-1)
易。使用完全独立的测试集。也就是说,使用不包含与训练集共同的实例的测试集。 不使用交叉验证或任何其他测试方法来训练数据。
注意:默认情况下,Weka的决策树使用修剪。也就是说,他们尝试概括树(读取:防止过度拟合)通过使用统计技术在达到真叶节点之前修剪树,此时没有统计的合理理由来制作额外的决策节点。 确实知道决策树是否过度拟合您的训练数据的唯一方法是检查IID测试集。如果您过度拟合,那么在对您的训练集进行交叉验证或其他测试时,您将获得优秀结果,但在测试单独的IID测试数据时会产生可怕的结果