我对J48树的分支末端的数字感到困惑。例如,使用weather.nominal数据,无论测试选项设置为使用培训集还是交叉验证或百分比拆分,树看起来都是相同的。这是输出:
J48 pruned tree
------------------
outlook = sunny
| humidity = high: no (3.0)
| humidity = normal: yes (2.0)
outlook = overcast: yes (4.0)
outlook = rainy
| windy = TRUE: no (2.0)
| windy = FALSE: yes (3.0)根据这个软件的作者编写的教科书,在一个使用这个精确数据的例子中,他们说:“在树结构中,冒号引入分配给特定叶子的类标签,然后是到达该叶的实例数,表示为十进制数,因为算法使用小数实例来处理丢失的值。如果有错误分类的实例(在本例中没有),它们的数目也会出现:因此,2.0/1.0意味着两个实例到达了该叶,其中一个被错误地分类了“因此,这意味着在上面的树中没有错误地使用weather.nominal数据集对实例进行分类。另一方面,当测试选项被设置为“使用培训集”或“百分比拆分”(带有默认的随机种子)时,就会出现错误的分类实例。例如,通过60 %的分割,它显示了以下内容
=== Evaluation on test split ===
=== Summary ===
Correctly Classified Instances 2 40 %
Incorrectly Classified Instances 3 60 %这里似乎有矛盾,但我一定是遗漏了什么。最初显示的树不是60 %分割的树吗?据我所见,这一点在任何地方都没有说明,但我想不出任何其他解释。
为了完整起见,数据如下:
outlook,temperature,humidity,windy,play
sunny,hot,high,FALSE,no
sunny,hot,high,TRUE,no
overcast,hot,high,FALSE,yes
rainy,mild,high,FALSE,yes
rainy,cool,normal,FALSE,yes
rainy,cool,normal,TRUE,no
overcast,cool,normal,TRUE,yes
sunny,mild,high,FALSE,no
sunny,cool,normal,FALSE,yes
rainy,mild,normal,FALSE,yes
sunny,mild,normal,TRUE,yes
overcast,mild,high,TRUE,yes
overcast,hot,normal,FALSE,yes
rainy,mild,high,TRUE,no发布于 2022-08-25 21:18:50
如果仔细观察输出,您将看到以下内容:
=== Classifier model (full training set) ===正在描述的模型是在完整数据集上训练的模型,而不是您的拆分。
下一节有以下标题:
=== Evaluation on test split ===您所指的统计数据基于在数据集拆分上培训和评估的模型。
https://stackoverflow.com/questions/73489400
复制相似问题