决策树-ML之三

来源:互联网 发布:大庆龙江网络客服电话 编辑:程序博客网 时间:2024/05/03 06:19

决策树

决策树基本概念

在决策树模型中,最重要的一个概念就是熵,熵从通俗语言来讲就是信息的不确定性,比如我有一袋5个水果,不知道是什么水果,目前的不确定性是最大的,熵最大,如果拿出来一个是苹果,那么这袋水果的不确定性就减小了,熵也减小了,再拿出一个知道是梨子,熵进一步减小,直到取出所有水果,这时候不确定性最低,都确定了,熵也为0了。
熵的定义是:H(x) = -p(x)log p(x)
联合熵:H(a,x)
条件熵:H(a|x)
信息增益:gain(x) g(D,A) = H(D) - H(D|A)
信息增益率:gr(D,A) = g(D,A)/H(A)
Gini系数:Gini(p)

决策树模型

决策树是非常易于理解的模型,决策树的过程在我们平常的决策中可能也都有应用,比如我决定晚上是否回家吃饭,那么先判断晚上是否加班,不加班情况下看食堂的饭怎么样,食堂饭不好然后看家里有没有菜,家里有菜最终决定回家吃,其他情况都不回家吃,这是一个很简单的二分决策,实际情况中可能会有复杂的多份决策,但是过程了类似的。
那么决策树的分支选择中,这么多条件如何确定先选择哪个条件作为分支,这就是决策树的关键了,常用的有信息增益,增益率、基尼系数。

ID3

如上述所说,目前不同的决策树算法的根本区别是选择下一个参数的标准,ID3算法是利用信息增益作为标准来寻找下一个参数,信息增益通俗来讲就是选择下一个参数后,不确定性的减小量,也就是熵的减小量,如果不确定性减小越多,那么就该选择该属性作为分类的下一个标准。

C4.5

C4.5的下一个节点的选择标准是信息增益率,信息增益率是信息增益相对于该信息的熵的比值,如上面的计算公式。

CART

该分类是利用基尼系数为标准选择下一个信息的标准。

简单总结

一个属性的信息增益(率)/gini指数越大,表明属性对样本的熵的减小能力更强,这个属性使得数据由不确定性变成确定性的能力越强。

决策树的过拟合

剪枝

决策树是属于弱分类器,容易发生过拟合情况,因此可以通过剪枝来处理过拟合。
剪枝总的思路如下:
* 由完全树T0开始,剪枝部分节点得到T1,再次剪枝部分节点得到T2,直到得到仅剩树根的Tk;
* 在验证集数据上对这K个树分别进行评价,选择损失函数最小的树Ta

剪枝系数的确定
剪枝系数确定

随机森林

bagging
1. 从样本集中采样(有重复的)选出n个样本
2. 在所有属性上,对这n个样本建立分类器(ID3,C4.5,CART,SVM,Logistic回归等)
3. 重复以上两个步骤,即获得m个分类器
4. 将数据放在这m个分类器上,最后根据这m个分类器的投票结果,决定数据属于哪一类。

随机森林
随机森林在bagging的基础上做了修改
1. 从样本中用Booststrap采样选出n个样本;
2. 从所有属性中随机选择k个属性,选择最佳分割属性作为节点建立CART决策树
3. 重复以上两步m次,即建立了m棵CART树;
4. 这m个CART形成随机森林,通过投票表决结果,决定数据属于哪一类。

总结

  • 决策树/随机森林的代码清晰,逻辑简单,在胜任分类问题的同事,往往也能作为对数据分布探索的首要尝试算法;
  • 随机森林的集成思想也可以用在其他分类器的设计中;
  • 如果正负样本数据量相差很大,需要对正样本进行降采样,对负样本进行拟合插值回归插入数据,减低正样本权重,提高负样本的权值。
原创粉丝点击