![f458af7a19fe51e8c9508eee3721a5b2.png](https://i-blog.csdnimg.cn/blog_migrate/86bad2596fb4b181ce17d7f3f9cb850d.jpeg)
什么是决策树
机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。
![c6a5d217e11fcd02adc9ffac5bed41b8.png](https://i-blog.csdnimg.cn/blog_migrate/b6658f1c0e7f3dd67bfc75801121f0ec.jpeg)
决策的形式以树的形式进行示意和编码,就形成了决策树
决策树是怎样工作的?
决策树的学习本质上就是从训练数据集中归纳出一组分类规则,使它与训练数据矛盾较小的同时具有较强的泛华能力。从另一个角度看,学习也是基于训练数据集估计条件概率模型。
在面对多个属性的数据时,决策树的做法是每次选择一个属性进行判断,如果不能得出结论,继续选择其他属性进行判断,直到能够“肯定地”判断出结果或者是上述属性都已经使用完毕。
如何构建决策树?
那么问题就来了,如何构建一棵决策树呢?决策树的构建是数据逐步分裂的过程,构建的步骤如下:
步骤1:将所有的数据看成是一个节点,进入步骤2;
步骤2:从所有的数据特征中挑选一个数据特征对节点进行分割,进入步骤3;
步骤3:生成若干孩子节点,对每一个孩子节点进行判断,如果满足停止分裂的条件,进入步骤4;否则,进入步骤2;
步骤4:设置该节点是子节点,其输出的结果为该节点数量占比最大的类别。
从上述步骤可以看出,决策生成过程中有三个重要的问题:
- 如何选择分裂的特征
- 数据如何分割
- 什么时候停止分裂
决策树的构建算法主要有ID3、C4.5、CART三种,其中ID3和C4.5是分类树,CART是分类回归树,其中ID3是决策树最基本的构建算法,而C4.5和CART是在ID3的基础上进行优化的算法。
ID3 使用信息增益作为选择特征的准则;
C4.5 使用信息增益比作为选择特征的准则;
CART 使用 Gini 指数作为选择特征的准则。
决策树的特征选择算法
决策树学习的关键在于如何选择最优的划分属性,所谓的最优划分属性,对于二元分类而言,就是尽量使划分的样本属于同一类别,即“纯度”最高的属性。那么如何来度量特征(features)的纯度,这时候就要用到“信息熵”和"信息增益","信息增益率”以及“基尼系数”等概念。
信息熵
![68f77e49fda32657f5ad3209de4fe607.png](https://i-blog.csdnimg.cn/blog_migrate/d2b3d3e96ee4d0d95e7bb869f5d00dbb.jpeg)
![9c69b5ed7fb8c604268459df67e1aa32.png](https://i-blog.csdnimg.cn/blog_migrate/45f825862d32d8cff179a11eb06eba6a.jpeg)
信息增益
![ec3234950822e8ac06dd9a615e10cbef.png](https://i-blog.csdnimg.cn/blog_migrate/4074dee85305179e159ba10e40ba9faa.jpeg)
![0b367f64d52569b2db4aeb804702c3dc.png](https://i-blog.csdnimg.cn/blog_migrate/b514ec9f925e1c793f06fbcbf5a4049b.jpeg)
信息增益的理解:
对于待划分的数据集D,其 entroy(前)是一定的,但是划分之后的熵 entroy(后)是不定的,entroy(后)越小说明使用此特征划分得到的子集的不确定性越小(也就是纯度越高),因此 entroy(前) - entroy(后)差异越大,说明使用当前特征划分数据集D的话,其纯度上升的更快。而我们在构建最优的决策树的时候总希望能更快速到达纯度更高的集合,这一点可以参考优化算法中的梯度下降算法,每一步沿着负梯度方法最小化损失函数的原因就是负梯度方向是函数