决策树
1.定义:分类决策树模型是一种描述对实例进行分类的树形结构。决策树由节点和有向边组成。节点有两种类型:内部结点和叶结点,内部结点表示一个特征或属性,叶结点表示一个类。用决策树分类,从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其叶子节点;这时,每一个子结点对应着该特征的一个取值,如此递归地对实例进行测试并分配,知至达到叶结点。最后将实例分配到叶结点的类中。
2.树模型
决策树:从根节点开始一步步走到叶子节点(决策)
所有的数据最终都会落到叶子节点,既可以做分类也可以做回归。
3.树的组成
根节点:第一个选择点。
非叶子节点与分支:中间过程。
叶子节点:最终的决策结果。
4.决策树的训练与测试
训练阶段:从给定的训练集构造出一棵树(从根节点开始选择特征,如何进行特征切分)。
测试阶段:根据构造出来的模型从上到下走一遍就好了。
一旦构造好了决策树,那么分类或者预测任务就简单多了,只需要走一遍就可以了,那么难点就在于如何构造出来一棵树,这就没那么简单,需要考虑的问题还有很多。
5.如何切分特征(选择节点)
问题:根节点的选择该用哪些特征呢?接下来如何切分呢?
想象一下:我们的目标应该是根节点就像一个老大似的能更好地切分数据(分类效果更好),根节点下面的节点自然就是二当家了。
目标:通过一种衡量标准,来计算通过不同特征进行分支选择后的分类情况,找出来最好的那个当成根节点,以此类推。
6.衡量标准-熵
熵:熵是表示随机变量不确定性的度量(解释:说白了就是物体内部的混乱程度,比如杂货市场里面什么都有,那肯定混乱,专卖店只卖一个牌子,那肯定稳定多了)。公式如下: H ( X ) = − ∑ i = 1 n p i log p i H\left( X \right)=-\sum\limits_{i=1}^{n}{
{
{p}_{i}}\log {
{p}_{i}}} H(X)=−i=1∑npilogpi
一个例子:A集合[1,1,1,1,1,1,1,1,2,2]、B集合[1,2,3,4,5,6,7,8,9,1]
虽然A集合的熵值要低,因为A里面只有两种类别,相对稳定一些。而B中类别太多,熵值就会大很多。(在分类任务中我们希望通过节点分支后数据类别的熵值大还是小呢?)
不确定性越大,得到的熵值也就越大。
当p=0或p=1时,H§=0,随机变量完全没有不确定性;
当p=0.5时,H§=1,随机变量的不确定性最大。
如何决定一个节点的选择?信息增益。
介绍信息增益之前,我介绍一下条件熵 H ( Y ∣ X ) H\left( Y|X \right) H(Y∣X)表示在已知随机变量X的条件下随机变量Y的不确定性,其公式如下:
H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i )