2.2.1 ID3算法的优点
ID3算法选择属性的特征是采用香农的信息增益概念,该算法的基础理论清晰,使得算法内容比较简单,该算法的总体计算时间是数据子集个数、事件的影响因素个数、节点个数之积间的线性函数。此外,该算法的搜索空间是存在与完全的假设空间,所以不存在被错误分类的危险。算法整体使用训练数据,这样做可以利用全部的样本的统计性质进行决策,从而降低分类结果的误差。
2.2.2 ID3算法的不足
尽管ID3算法非常容易理解,算法步骤清晰简洁,是一个很值得学习的算法,但是ID3算法本身存在的一些问题没有得到很好的解决。
逻辑表达能力较差
ID3算法是基于计算影响因素属性的信息增益的大小来建立决策树,只考虑单个节点,导致在节点数较多的情况下,逻辑的表达能力差,这就不利于最终得到有用的分类规则。
ID3算法的选择偏向于属性较多的属性,但是属性值较多的属性却不一定是最佳的属性。
在算法的计算过程中采用大量的加权来计算,从而得出各个属性的信息熵、条件熵以及平均信息量,因此这种方法使得实例数据的分类会趋向于大数据量的数据元组,然而,属性值较多的数据集并不一定是最好的属性,即使根据熵值最小作为判断标准,但是实际中并不是最重要的,也就是说测试数据的属性不会提供大多的信息。有些人会认为少量的数据中的数据含义在实际的应中影响力更大,所以这种方法会使生成决策树时数量少的数据元组被抛弃,从而出现大数据掩盖小数据的现象发生,不能体现出小数据的重要性 ^([4])。
2.3 C4.5算法
C4.5 算法是 Quinlan在 1993 年提出的,它既是 ID3 算法的延续,也是以后很多决策树算法的基础。C4.5 算法在 ID3 算法的基础上进行扩展,C4.5 算法除了能够处理离散型属性的数据,还能够处理连续型属性的数据,并且对树剪枝也有了比较成熟的方法。 与 ID3 算法不同,C4.5 算法利用信息增益率来选择节点属性。信息增益率是信息增益和分割信息量的比值。
C4.5算法不仅继承了ID3算法的长处,还在以下几方面对ID3算法进行了改善:
(1) 用信息增益率来计算数据属性,克服了用信息增益选择树的节点时偏向选择取值较多的属性而产生的误差;
(2) 在构造树的过程中进行剪枝;
(3)能够将连续型数据化为离散型数据进行处理;
(4) 能够处理不完整数据进。