决策树-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形成随机森林,通过投票表决结果,决定数据属于哪一类。
总结
- 决策树/随机森林的代码清晰,逻辑简单,在胜任分类问题的同事,往往也能作为对数据分布探索的首要尝试算法;
- 随机森林的集成思想也可以用在其他分类器的设计中;
- 如果正负样本数据量相差很大,需要对正样本进行降采样,对负样本进行拟合插值回归插入数据,减低正样本权重,提高负样本的权值。
- 决策树-ML之三
- ML-决策树
- ML学习笔记-决策树
- 【ML笔记】决策树剪枝
- ML--决策树学习小结
- 写程序学ML:决策树算法原理及实现(三)
- ML—决策树(train,matlab)
- 「ML」Chap4决策树
- ML基础---决策树的应用
- 《机器学习实战》和Udacity的ML学习笔记之决策树
- Spark2 ML包之决策树分类Decision tree classifier详细解说
- 数据挖掘模型介绍之三:决策树
- 机器学习算法之决策树(三)
- 机器学习之决策树(三)
- Java机器学习库ML之三Sampling(采样)
- 如何优雅的ML(二) 决策树
- 【ML算法】决策树——ID3算法
- 【ML--09】决策树算法Decision Tree
- IS-IS的报文——hello PDU
- greendao
- mysql分别按照季,月,周分别统计数据
- Intellij idea 控制台及RestClient中文乱码解决办法
- 笨方法学习Python-习题29: 如果(if)
- 决策树-ML之三
- [NOIP模拟题]最佳旅行
- 禁止选择文字和文本超出显示省略号
- 盒子在页面内居中
- chrome浏览器字体小于12px的解决方式
- 【Spring】AOP编程
- session详解
- 清除浮动
- idea在线生成激活码