weka中ID3算法及可视化

时间:2024-05-23 13:51:17

weka中ID3算法及可视化


最近看西瓜书看到决策树,想把数据集拿过来跑跑,具体我在博客中写了。但是遇到一个问题就是新版本weka(我用的是3.7.11和3.8.1)中均不再提供ID3算法,可能确实是ID3算法缺点太过明显,这个不在我们的讨论之内。但是对于初学者拿来练手了解原理还是蛮好的,找了好久终于在weka中找到了ID3算法,就是通过weka的Tools->package manager在里面找到包simpleEducationalLearningSchemes安装即可。但是安装的这个ID3算法并不提供可视化功能如下图所示:

weka中ID3算法及可视化

只能自己想办法解决了,J48是提供可视化的,打开J48的源码,会发现,J48多实现了一个接口Drawable,是weka.core中一个用户绘图的接口,这个接口详细信息如下:
weka中ID3算法及可视化
J48中主要实现了graph()这个方法,但是weka绘制决策树用的是Graphviz绘图的,这个涉及到dot语言,有兴趣的自行谷歌百度,我也不会。因此自己在充分借鉴链接的基础上,经过修改整合,终于ID3可是可视化了,已将源码放到了github上,在eclipse中调用,数据集用的西瓜书上西瓜数据集2.0,也放到github上了,需要的自行下载。可视化效果如下:
weka中ID3算法及可视化

欢迎大家留言交流