ID3\C4.5\CART
| ID3 | C4.5 | CART | |
|---|---|---|---|
| 特征选择 | 信息增益 | 信息增益比 | 基尼不纯度 |
| 连续值处理 | 只能处理离散值 | 二分 | 二分 |
| 树形式 | 多叉 | 多叉 | 二叉树 |
| 剪枝 | 无 | 有 | 有 |
| 适用问题 | 分类 | 分类 | 分类/回归 |
关于特征选择方式与熵?
熵反映了信息量大小(混乱程度),熵越大信息量越大。我们的目标是熵减少方向
树模型原理
ID3
(1)计算数据集D 的经验熵 H(D)
\]
\(K\) 表示数据类别,\(C_k\) 表示第 \(k\) 类样本的个数
(2)计算特征 A 对数据集 D 的经验条件熵 \(H(D | A)\)
\]
\(D_i\) 表示根据特征 \(A\) 划分后的数据子集
(3)计算信息增益
\]
C4.5
信息增益比
H_A(D)=-\sum_{j=1}^{n} \frac{N\left(D_{j}\right)}{N(D)} \log \left(\frac{N\left(D_{j}\right)}{N(D)}\right) \\
g_r(D,A)=\frac{g(D,A)}{H_A(D)}
\end{array}
\]
其中 n表示特征 A取值的个数
CART
分类树
基尼不纯度(gini impurity)
\]
\(p_k\) 表示两个第 k类样本的数量比。
基尼不纯度的\((1-p_k)\) 相当于信息熵中log项的泰勒展开
根据特征 A的取值a划分两个子集(二叉)
gini(D,A) = \frac{|D_1|}{|D|}gini(D_1)+\frac{|D_2|}{|D|}gini(D_2)\\
D_1 = \{(x,y)\in D | A(x)=a\},D_2 = D-D-1
\]
回归树
回归树如何选择节点分裂方式?
使用平方误差 \(\sum(y_i - f(x_i))^2\)
树模型怎么得到平方误差呢?
根据叶子节点值作为作为输出。将输入空间划分为多个单元,每个单元有一个固定输出值(对应输入空间输出值的平均)
具体怎么划分?
类似分类树,根据划分前后的误差选取。选取切分变量和切分点(特征及特征取值)
回归树构建流程:
选择切分变量
j和切分点s,划分子区域:\[R_1(j,s) = \{x|x^{(j)} \leq s\},\quad R_2(j,s) = \{x|x^{(j)} > s\}
\]计算对应特征与特征值下的误差:
\[\sum_{x_i\in R_1(j,s)}(y_i-c_1)^2 + \sum_{x_i\in R_2(j,s)}(y_i-c_2)^2
\]其中 \(c_1 = ave(y_i|x_i\in R_1(j,s))\)
遍历,寻找最优切分变量
j和最优切分点s(使平方误差最小)根据选定的
(j,s)划分区域:
\[R_1,R_2,c_m = \frac{1}{N_m}\sum_{x_i\in R_m(j,s)}y_i ,m\in \{1,2\}
\]
树创建
ID3、C4.5 多叉树
CART分类树(二叉)
CART回归树
不同树的基本创建过程只有两点不同:
- 划分节点的评价方式
- 子集的划分
references:
[1] 统计学习方法
[2] 机器学习实战
ID3\C4.5\CART的更多相关文章
- 决策树(ID3,C4.5,CART)原理以及实现
决策树 决策树是一种基本的分类和回归方法.决策树顾名思义,模型可以表示为树型结构,可以认为是if-then的集合,也可以认为是定义在特征空间与类空间上的条件概率分布. [图片上传失败...(image ...
- 决策树模型 ID3/C4.5/CART算法比较
决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归.虽然将多棵弱决策树的Bagging.Random Forest.Boosting等tree ensembel 模型更为常见,但是“完 ...
- 机器学习算法总结(二)——决策树(ID3, C4.5, CART)
决策树是既可以作为分类算法,又可以作为回归算法,而且在经常被用作为集成算法中的基学习器.决策树是一种很古老的算法,也是很好理解的一种算法,构建决策树的过程本质上是一个递归的过程,采用if-then的规 ...
- 决策树 ID3 C4.5 CART(未完)
1.决策树 :监督学习 决策树是一种依托决策而建立起来的一种树. 在机器学习中,决策树是一种预测模型,代表的是一种对象属性与对象值之间的一种映射关系,每一个节点代表某个对象,树中的每一个分叉路径代表某 ...
- 机器学习相关知识整理系列之一:决策树算法原理及剪枝(ID3,C4.5,CART)
决策树是一种基本的分类与回归方法.分类决策树是一种描述对实例进行分类的树形结构,决策树由结点和有向边组成.结点由两种类型,内部结点表示一个特征或属性,叶结点表示一个类. 1. 基础知识 熵 在信息学和 ...
- 21.决策树(ID3/C4.5/CART)
总览 算法 功能 树结构 特征选择 连续值处理 缺失值处理 剪枝 ID3 分类 多叉树 信息增益 不支持 不支持 不支持 C4.5 分类 多叉树 信息增益比 支持 ...
- ID3/C4.5/Gini Index
ID3/C4.5/Gini Index */--> ID3/C4.5/Gini Index 1 ID3 Select the attribute with the highest informa ...
- ID3,C4.5和CART三种决策树的区别
ID3决策树优先选择信息增益大的属性来对样本进行划分,但是这样的分裂节点方法有一个很大的缺点,当一个属性可取值数目较多时,可能在这个属性对应值下的样本只有一个或者很少个,此时它的信息增益将很高,ID3 ...
- 用于分类的决策树(Decision Tree)-ID3 C4.5
决策树(Decision Tree)是一种基本的分类与回归方法(ID3.C4.5和基于 Gini 的 CART 可用于分类,CART还可用于回归).决策树在分类过程中,表示的是基于特征对实例进行划分, ...
随机推荐
- python基础day1&2
解决中文乱码问题 在开头加上 -*- encoding:utf-8 -*- if条件 if 条件: 结果#if elif else是单选,只走一条路 num = input('Please input ...
- AGC 043 C - Giant Graph SG函数 dp 贪心
LINK:Giant Graph 神仙题目. 容易发现在图中选择某个点的贡献为\(10^{18\cdot(x+y+z)}\) 这等价于多选一个点多大一点就多乘了一个\(10^{18}\) 所以显然是贪 ...
- ABC E - Active Infants 贪心 dp
LINK:Active Infants 一个快省选的人 还在写ABC(莫名觉得丢人 不过也无所谓了. 首先考虑 随便一个排列 我们考虑一下其是不是最优的 容易发现如果最大值没有在边界上的话我们直接把它 ...
- Guava基本工具--常见Object方法
在Java中Object类是所有类的父类,其中有几个需要override的方法比如equals,hashCode和toString等方法.每次写这几个方法都要做很多重复性的判断, 很多类库提供了覆写这 ...
- 一些html基础概念
不做前端好多年,之所以突然写这个,是因为最近在做一个监控平台,需要一点web前端开发,想着顺便做了,但是由于长时间没接触前端导致一些基础知识的遗忘,所以在此记录下备忘,没有啥高深的东西,完全是为了对抗 ...
- linux集群服务网络状态(netstat),服务端页面(图形字符页面)基本配置
Linux网络基础配置 yum -y install vim 安装vim 关闭的防火墙服务 iptables -F iptables -X iptables -Z systemctl s ...
- 说说Spring中的 @RestController 和 @Controller
Spring MVC执行流程已是JAVA面试中老生常谈的问题,相信各位小伙伴也是信手拈来.今天我们来谈谈另一个面试中必会必知的问题: @RestController和@Controller的区别? S ...
- CSS表单与数据表(下)
2.表单 表单是用户输入内容的地方.表单涉及的控件很多,而且一直很难给它们应用样式.无法控制样式的部分,可以通过自定义控件来解决. 2.1 简单的表单 2.1.1 fieldset与legend fi ...
- Go 中的动态作用域变量
这是一个 API 设计的思想实验,它从典型的 Go 单元测试惯用形式开始: func TestOpenFile(t *testing.T) { f, err := os.Open("notf ...
- artifactdescriptorexception:Failed to read artifact descriptor for xxx:jar ”
在Eclipse中执行Maven的install命令时,报“Failed to read artifact descriptor for xxx:jar ”的错误.这可能是在下载过程中文件出现错误.或 ...