Machine learning 为什么决策树在WEKA中不能按预期工作?

Machine learning 为什么决策树在WEKA中不能按预期工作?,machine-learning,weka,decision-tree,Machine Learning,Weka,Decision Tree,我正在阅读一本书《机器学习:开发人员和技术专业人员的实践》,用WEKA创建决策树。虽然我遵循了书中所示的相同过程,但我得到的决策树并不相同。我使用的是C4.5(J48)算法 数据(arff文件) 预期产出 我的输出 我做错了什么?这是本书的问题(把答案放在这里,这样可以帮助本书的其他读者) Book在end_rack类别中只需要一个否定案例(在作者的树形图中查找(5,1))。在书中甚至在书的网站上提供的数据中,实际上有两个负面案例(5,2)。我删除了一个负面案例,得到了与书相同的决策树 以下

我正在阅读一本书《机器学习:开发人员和技术专业人员的实践》,用WEKA创建决策树。虽然我遵循了书中所示的相同过程,但我得到的决策树并不相同。我使用的是C4.5(J48)算法

数据(arff文件)

预期产出

我的输出


我做错了什么?

这是本书的问题(把答案放在这里,这样可以帮助本书的其他读者)

Book在end_rack类别中只需要一个否定案例(在作者的树形图中查找(5,1))。在书中甚至在书的网站上提供的数据中,实际上有两个负面案例(5,2)。我删除了一个负面案例,得到了与书相同的决策树

以下是已更正的数据arff文件

@relation ladygaga

@attribute placement {end_rack, cd_spec, std_rack}
@attribute prominence numeric
@attribute pricing numeric
@attribute eye_level {TRUE, FALSE}
@attribute customer_purchase {yes, no}

@data
end_rack,85,85,FALSE,yes
end_rack,80,90,TRUE,yes
cd_spec,83,86,FALSE,no
std_rack,70,96,FALSE,no
std_rack,68,80,FALSE,no
std_rack,65,70,TRUE,yes
cd_spec,64,65,TRUE,yes
end_rack,72,95,FALSE,yes
end_rack,69,70,FALSE,no
std_rack,75,80,FALSE,no
end_rack,75,70,TRUE,no
cd_spec,72,90,TRUE,no
cd_spec,81,75,FALSE,yes
std_rack,71,91,TRUE,yes
@relation ladygaga

@attribute placement {end_rack, cd_spec, std_rack}
@attribute prominence numeric
@attribute pricing numeric
@attribute eye_level {TRUE, FALSE}
@attribute customer_purchase {yes, no}

@data
end_rack,85,85,FALSE,yes
end_rack,80,90,TRUE,yes
cd_spec,83,86,FALSE,no
std_rack,70,96,FALSE,no
std_rack,68,80,FALSE,no
std_rack,65,70,TRUE,yes
cd_spec,64,65,TRUE,yes
end_rack,72,95,FALSE,yes
end_rack,69,70,FALSE,yes
std_rack,75,80,FALSE,no
end_rack,75,70,TRUE,no
cd_spec,72,90,TRUE,no
cd_spec,81,75,FALSE,yes
std_rack,71,91,TRUE,yes
正确输出

我认为刚出版的书的第一版总是有风险的。