本项目开源在我的GitHub。这个repository有4个分支:master是原始版本的ID3,其他三个分支是我的改进ID3。
报告这里下载。本博客下面的内容节选自我的报告。
Abstract
ID3算法是决策树的鼻祖,最早于1986年由Quinlan提出,全称是Iterative Dichotomiser 3 [1]。在这篇课程报告中,我将对经典的ID3做出三次改进:1.把 info gain 改进为 gain ratio;2. 把简单投票的过程改进为朴素贝叶斯的方法;3. 将许多颗ID3决策树打造成随机森林。本人将在Weka平台进行二次开发,并且用Weka-Experiment做大量实验,和其它著名的算法进行比较,最后做出综述。项目的源代码开源在本人的GitHub主页上。
经典ID3算法构造一棵树的过程如下:
- 构造根节点:输入数据集data,找出 info gain最大的属性attribute,用属性attribute对数据集data划分成若干子节点。子节点中的数据集data’是其父节点中数据集data的一个子集
- 如果子节点的 info gain 等于0,则子节点成为叶节点,停止生长树
- 如果子节点的 info gain 不等于0,则以该子节点为”根节点”,继续长树,即回到步骤1
GitHub
本次模式识别上机实习的代码,全部公开在本人的GitH