Weka - 如何检查weka中是否有过度拟合?

时间:2013-05-29 15:32:09

标签: machine-learning weka

在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     

2 个答案:

答案 0 :(得分:0)

如果我没有错,那么上面显示的关于在完整数据集(Training)上评估分类器的准确性的输出结果,不是要对任何测试数据进行分类,以获得完整的准确度结果您需要使用Train / Test Splits,或者您可以使用外部测试分割,这将提供关于分类器结果的更好的想法。

答案 1 :(得分:-1)

易。使用完全独立的测试集。也就是说,使用不包含与训练集共同的实例的测试集。 使用交叉验证或任何其他测试方法来训练数据。

注意:默认情况下,Weka的决策树使用修剪。也就是说,他们尝试概括树(读取:防止过度拟合)通过使用统计技术在达到真叶节点之前修剪树,此时没有统计的合理理由来制作额外的决策节点。 确实知道决策树是否过度拟合您的训练数据的唯一方法是检查IID测试集。如果您过度拟合,那么在对您的训练集进行交叉验证或其他测试时,您将获得优秀结果,但在测试单独的IID测试数据时会产生可怕的结果