C4.5决策树算法原理学习

决策树

由于毕业设计的需要,C4.5算法被用来做数据预处理工作,这篇文章主要用于学习决策树相关概念以及C4.5算法的实现。ps:毕设需要的不是构建一个完整的决策树出来,而是得出所有属性的信息增益率,取前几,所以本文主要研究数学概念。

决策树的概念

决策树是一个预测模型;他代表的是对象属性对象值之间的一种映射关系

从数据产生决策树的机器学习技术叫做决策树学习, 通俗说就是决策树。

一个决策树包含三种类型的节点:

  • 决策节点:通常用矩形框来表示
  • 机会节点:通常用圆圈来表示
  • 终结点:通常用三角形来表示

决策树是一种机器学习的方法。决策树的生成算法有ID3, C4.5和C5.0等。决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。

决策树是一种十分常用的分类方法,需要监管学习(有教师的Supervised Learning),监管学习就是给出一堆样本,每个样本都有一组属性和一个分类结果,也就是分类结果已知,那么通过学习这些样本得到一个决策树,这个决策树能够对新的数据给出正确的分类。

信息增益率

  1. 计算类别信息熵

类别信息熵表示的是所有样本中各种类别出现的不确定性之和。根据熵的概念,熵越大,不确定性就越大,把事情搞清楚所需要的信息量就越多。

  1. 计算每个属性的信息熵

每个属性的信息熵相当于一种条件熵。他表示的是在某种属性的条件下,各种类别出现的不确定性之和。属性的信息熵越大,表示这个属性中拥有的样本类别越不“纯”。

  1. 计算信息增益

信息增益 = 熵 - 条件熵,在这里就是类别信息熵 - 属性信息熵,它表示的是信息不确定性减少的程度。如果一个属性的信息增益越大,就表示用这个属性进行样本划分可以更好的减少划分后样本的不确定性,当然,选择该属性就可以更快更好地完成我们的分类目标。

信息增益就是ID3算法的特征选择指标。

  1. 计算属性分裂信息度量

用分裂信息度量来考虑某种属性进行分裂时分支的数量信息和尺寸信息,我们把这些信息称为属性的内在信息(instrisic information)。信息增益率用信息增益 / 内在信息,会导致属性的重要性随着内在信息的增大而减小(也就是说,如果这个属性本身不确定性就很大,那我就越不倾向于选取它),这样算是对单纯用信息增益有所补偿。

  1. 计算信息增益率

信息增益率可以作为划分数据集的最优特征,它的作用和信息增益差不多,相比于信息增益,信息增益率可以过滤一些类似日期或者是id类别的干扰。

IGR = Gain / H

你可能感兴趣的:(算法,决策树,机器学习)