我有一个数据集,我使用WEKA
和J48
算法在ID3
中进行分类。 J48
算法的输出是:
Correctly Classified Instances 73 92.4051 %
Incorrectly Classified Instances 6 7.5949 %
Kappa statistic 0.8958
Mean absolute error 0.061
Root mean squared error 0.1746
Relative absolute error 16.7504 %
Root relative squared error 40.9571 %
Total Number of Instances 79
,使用ID3的输出是:
Correctly Classified Instances 79 100 %
Incorrectly Classified Instances 0 0 %
Kappa statistic 1
Mean absolute error 0
Root mean squared error 0
Relative absolute error 0 %
Root relative squared error 0 %
Total Number of Instances 79
我的问题是,如果J48
是[{1}}的扩展名并且比较新,ID3
为什么会提供比ID3
更好的结果?
答案 0 :(得分:1)
J48模型在过程中的质量更准确,基于 C4.5是ID3的扩展,它考虑了不可用的值,连续的属性值范围,决策树的修剪,规则推导等等。在这种情况下,结果只反映了您使用的数据集类型。当您需要更快/更简单的结果而不考虑J48考虑的所有其他因素时,可以实施ID3。查看修剪决策树并派生规则集HERE 在网络上有关于这些比较结果的主题中的大量资源,更重要的是要学会识别在哪种情况下我们应用不同的分类器,一旦我们知道每个分类器如何工作(1)
答案 1 :(得分:0)
决策树更有可能面临数据过度拟合的问题,在您的情况下,ID3算法面临数据过度拟合的问题。这是决策树的问题,它分割数据直到它产生纯集。通过使用修剪,此数据过拟合问题在 J48的扩展名中得到修复。
要涵盖的另一点:您应该使用 K-fold交叉验证来验证您的模型。