pyhon实现决策树(ID3)算法进行数据的分类预测

来源:互联网 发布:js下载选择文件夹路径 编辑:程序博客网 时间:2024/06/01 10:16

本文参考了这篇博客和这篇博客  还有这篇 十分感谢

说明: 由于平时接触到的数据既有离散值也有连续值 所以该算法直接针对两种类型的数据都做了处理,另外划分属性采用的是熵最大原则,决策树实现时很容易过拟合 所以需要进行剪枝处理(此处未进行剪枝)

关于ID3算法进行分类预测的原理可以参考这篇博客,不再赘述

主要写一下具体实现

我用的是老师给的数据全都是连续型数据,.xlsx文件直接改成扩展名.csv貌似程序会运行出错,具体可以参考这篇,也就是另存为就可以

数据集    https://pan.baidu.com/s/1slul1Bv 密码: n8vf

以下由python实现 环境python3.0 (假装你已经安装了必要的包) 建议使用Anaconda安装,比较简单 代码是在上面几篇博客的基础上做了一点修改(主要是出错啊要不然谁改啊)



由于没做剪枝 所以该模型测试之后效果不是很好 总共75个数据 (哦对了 数据其实可以是中文的 对此做了处理 只要改一下编码 ’gb18030‘就可以)拿55个训练建立模型 20个进行测试 准确率是56.7% 其实没什么用,,,哎 不对 我用的数据集分类结果有三种,相比于不训练 33.3333%训练出的这个模型其实还是很好的???对于数据集只有两类(好瓜or 坏瓜 50%作为对照) 当拿35个进行训练 45个进行预测 准确率是62.5%   (其实我用的数据集不是特别规范 因为太有序了 这样无偏性就不是特别好,所以应该打乱顺序这样训练出来的模型才更有代表性

图传不上去,,,,,再见
原创粉丝点击