一.概念
决策树和随机森林:决策树和随机森林都是非线性有监督的分类模型。
决策树是一种树形结构,树内部每个节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一个分类类别。通过训练数据构建决策树,可以对未知数据进行分类。
- 根节点:最顶层的分类条件
- 叶节点:代表每一个类别号
- 中间节点:中间分类条件
- 分支:代表每一个条件的输出
随机森林是由多个决策树组成,随机森林中每一棵决策树之间没有关联,在得到一个随机森林后,当有新的样本进入的时候,随机森林中的每一棵决策树分别进行判断,分析出该样本属于哪一类,然后最后看哪一类被选择最多,就预测该样本属于这一类。
一个合理的决策树可以描述为:决策树的高度相对低而且树的两边能将数据分类的更彻底。
而想要构建一个最优的决策树,和根节点和每一个中间节点的分类条件的选择密不可分,好的分类条件可以让类别一样的数据在树的一边,从而减少数的高度,因此如何在这些节点上如何选择分类条件成为了一个问题。
决策树的生成原则:
数据不断分裂的递归过程,每一次分裂,尽可能让类别一样的数据在树的一边,当树的叶子节点的数据都是一类的时候,则停止分类。这样分类的数据,每个节点两边的数据不同,将相同的数据分类到树的一侧,能将数据分类的更纯粹。减少树的高度和训练决策树的迭代次数。
注意:训练决策树的数据集要离散化,不然有可能造成训练出来的树有些节点的分支特别多,容易造成过拟合。
二.如何选择分类条件
1.信息熵
信息熵是用来量化信息信息量的指标,信息熵越大,则信息越混乱,信息熵越小,则信息越纯粹。熵的定义如下
![14534869-16460036b4ee50ed.png](https://upload-images.jianshu.io/upload_images/14534869-16460036b4ee50ed.png)
其中,n代表当前类别有多少类别代表当前类别中某一类别的概率。
下面举一个例子看一下信息熵的使用
![14534869-62bfbc5d8eebdd31.png](https://upload-images.jianshu.io/upload_images/14534869-62bfbc5d8eebdd31.png)
由上图可知,最终"是否购买电脑"类别的信息熵如下: