决策树算法基础:ID3与C4.5
来源:互联网 发布:手机遥控器电视软件 编辑:程序博客网 时间:2024/05/22 09:15
设X是一个取有限个值得离散随机变量,其概率分布为P(X=xi)=pi, i=1,2,…,n。则随机变量X的信息熵为
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。H(Y|X)的计算公式为
所以决策树分支后信息总熵H(D|A)=P1*H1+P2*H2+...+Pn*Hn,(特征A条件下D的经验条件熵)
所以信息增益ΔH=H(D)-H(D|A)
H(D|A)越小,ΔH越大,该特征A越适合作为当前的决策节点。
选取最佳特征伪代码:
计算信息总熵H(D)
遍历每一个特征下的关于D的经验条件熵H(D|A)
计算每一个特征的信息增益ΔH
将信息增益ΔH最大的特征作为最佳特征选为当前决策节点
ID3算法伪代码:
如果第一个标签的数量等于所有的标签数量,说明这是一个单节点树,返回这个标签作为该节点类
如果特征只有一个,说明这是一个单节点树,用多数表决法投票选出标签返回作为该节点类
否则,按信息增益最大的特征A作为当前决策节点,即决策树父节点
如果该特征的信息增益ΔH小于阈值,则用多数表决法投票选出标签返回作为该节点类
否则,对于该特征A的每一个可能值ai,将原空间D分割为若干个子空间Di
对于若干个非空子集Di,将每个Di中实例数最大的类作为标记,构建子节点
以Di为训练空间,递归调用上述步骤
由于信息增益存在偏向于选择取值较多的特征的问题,而C4.5算法中,将ID3算法里的信息增益换成信息增益比,较好地解决了这个问题。
决策树的优点在于计算量简单,适合有缺失属性值的样本,适合处理不相关的特征。而缺点是容易过拟合,可以通过剪枝来简化模型,另外随机森林也解决了这个问题。
具体代码见github链接。https://github.com/AlanLin2015/Machine-Learning/tree/master/trees
- 决策树算法基础:ID3与C4.5
- ID3决策树与C4.5决策树分类算法简述
- 整理--决策树算法:ID3和C4.5
- 整理--决策树算法:ID3和C4.5
- 决策树算法解析---ID3,C4.5
- 决策树算法ID3,C4.5, CART
- 分类算法-----决策树(包括ID3,C4.5)
- 决策树算法:ID3和C4.5
- ID3和C4.5决策树算法总结
- 决策树分类算法:ID3 & C4.5 & CART
- 机器学习算法 --- 决策树ID3,C4.5
- Python 决策树算法(ID3 & C4.5)
- 决策树算法——ID3算法,C4.5算法
- ID3算法 改进的C4.5算法 决策树算法
- 决策树算法——ID3算法,C4.5算法
- 决策树算法——ID3算法,C4.5算法
- 决策树:ID3\C4.5\Cart
- 决策树之ID3,C4.5
- session和cookie
- 全套支付宝系统架构
- xman level4//一步一步rop level2 writeup
- JAVA多线程实现Runnable方式
- JAVA_OA(十四)番外:JAVAWEB防止表单重复提交的方法整合(包括集群部署)
- 决策树算法基础:ID3与C4.5
- 关于android打开闪光灯的一些小事
- 利用table使图片在浏览器中垂直居中
- hadoop系列:zookeeper(3)——zookeeper核心原理(事件)
- DxO Optics Pro 11 中文教程(以官方 11.1 版为蓝本)
- shell脚本检查统计nginx访问日志access.log
- 高德地图-绘制去程和回程路线
- Quantization
- 华为OJ(笔画)