决策树(Decision Tree)是在已知各类状况发生几率的基础上,经过构成决策树来求取净现值的指望值大于等于零的几率,评价项目风险,判断其可行性的决策分析方法,是直观运用几率分析的一种图解法。因为这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他表明的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。算法
决策树学习采用的是自顶向下的递归方法, 其基本思想是以信息熵为度量构造一棵熵值降低最快的树,到叶子节点处的熵值为零, 此时每一个叶节点中的实例都属于同一类微信
创建决策树的关键,即在当前状态下选择哪一个属性做为分类依据。根据不一样的目标函数,创建决策树主要有如下三种算法。机器学习
ID3 函数
C4.5 学习
CARTui
I决策树学习的关键其实就是选择最优划分属性,但愿划分后,分支结点的“纯度”愈来愈高。那么“纯度”的度量方法不一样,也就致使了学习算法的不一样,这里咱们讲解最多见的俩种算法,ID3算法与C4.5算法和CART。对象
在咱们的ID3算法中,咱们采起信息增益这个量来做为纯度的度量。递归
咱们选取使得信息增益最大的特征进行分裂!那么信息增益又是什么概念呢?ci
信息熵是表明随机变量的复杂度(不肯定度),条件熵表明在某一个条件下,随机变量的复杂度(不肯定度)。io
而咱们这里说的的信息增益刚好是:信息熵-条件熵。
咱们看以下定义:
当前样本集合D 中第 k 类样本所占的比例为 pk(k实际上是下标,微信很差打),则 D 的信息熵定义为
离散属性a 有 V 个可能的取值 {a1,a2,…,aV};样本集合中,属性 a 上取值为 av 的样本集合,记为 Dv。
用属性a 对样本集 D 进行划分所得到的“信息增益”
此次咱们每次进行选取特征属性的时候,再也不使用ID3算法的信息增益,而是使用了信息增益率这个概念。
首先咱们来看信息增益率的公式:
由上图咱们能够看出,信息增益率=信息增益/IV(a),说明信息增益率是信息增益除了一个属性a的固有值得来的。
咱们一开始分析到,信息增益准则实际上是对可取值数目较多的属性有所偏好!(好比上面提到的编号,若是选取编号属性,每个子节点只有一个实例,可取值数目是最多,并且子节点纯度最高《只有一个类别》,致使信息增益最大,因此咱们会倾向于选他,可是已经分析了这种树是不具有泛化能力的)。
可是刚刚咱们分析到了,信息增益并非一个很好的特征选择度量。因而咱们引出了信息增益率。
咱们来看IV(a)的公式:
属性a的固有值:
IV(触感) = 0.874 ( V = 2 )
IV(色泽) = 1.580 ( V = 3 )
IV(编号) = 4.088 ( V = 17 )
由上面的计算例子,能够看出IV(a)其实可以反映出,当选取该属性,分红的V类别数越大,IV(a)就越大,若是仅仅只用信息增益来选择属性的话,那么咱们偏向于选择分红子节点类别大的那个特征。
可是在前面分析了,并非很好,因此咱们须要除以一个属性的固定值,这个值要求随着分红的类别数越大而越小。因而让它作了分母。
这样能够避免信息增益的缺点。
由于一开始我仅仅用信息增益做为个人选择目标,可是会出现“编号”这些使得类别数目多的属性选择,可是又不具备泛化能力,因此我给他除以一个值(这个值)随着你分的类别越多,我就越大,必定程度上缓解了信息增益的缺点
那么信息增益率就是完美无瑕的吗?
固然不是,有了这个分母以后,咱们能够看到增益率准则其实对可取类别数目较少的特征有所偏好!
毕竟分母越小,总体越大。
因此C4.5算法不直接选择增益率最大的候选划分属性,候选划分属性中找出信息增益高于平均水平的属性(这样保证了大部分好的的特征),再从中选择增益率最高的(又保证了不会出现编号特征这种极端的状况)