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还可用于回归).决策树在分类过程中,表示的是基于特征对实例进行划分, ...
随机推荐
- 7-Pandas之索引调整方法
一.调整索引.修改列标签 1.调整索引的两种情况: 重新索引 设置新的索引 (1)重新索引 在Pandas对象中,其实索引也是一个对象,所以可对其进行修改. 例如:df.index=['a','b', ...
- Python File truncate() 方法
概述 truncate() 方法用于截断文件,如果指定了可选参数 size,则表示截断文件为 size 个字符.高佣联盟 www.cgewang.com 如果没有指定 size,则从当前位置起截断:截 ...
- PHP mt_srand() 函数
实例 播种随机数生成器: <?phpmt_srand(mktime());echo(mt_rand());?>高佣联盟 www.cgewang.com 定义和用法 mt_srand() 函 ...
- three.js 自制骨骼动画(一)
上一篇郭先生解析了一下官方的骨骼动画案例,这篇郭先生就要做一个稍微复杂一点的骨骼动画了,就拿一个小人下手吧.在线案例请点击博客原文.话不多说先上大图 骨骼动画在GUI上面都有体现.制作骨骼动画的步骤在 ...
- linux的文件处理(匹配 正则表达式 egrep awk sed)和系统、核心数据备份
文件处理 1.处理方式 匹配 正则表达式 egrep awk sed 2.文件中的处理字符 \n 新行符 换行 \t 制表符 tab键 缺省8个空格 \b 退格符 backspace键 退格键 ...
- 【FZYZOJ】细菌 题解(最短路)
题目描述 为了研究一种新型细菌(称它为S型细菌)的性质,Q博士将S型细菌放在了一个犹如迷宫一般的通道面前,迷宫中N个站点,每个站点之间以一种单向通道的形式连接,当然,也有可能某两个站点之间是互不联通的 ...
- UIPickView的简单使用
好记性不如烂笔头,勤做笔记. 摘要: 1.UIPickVIew 几个重要的属性 (1)datePickerMode UIDatePickerModeTime, // Displays hour, mi ...
- 极简 Node.js 入门 - Node.js 是什么、性能有优势?
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- Chrome自动格式化Json输出
对JSON格式的内容进行浏览和编辑,以树形图样式展现JSON文档,并可实时编辑 安装 Chrome商店 https://chrome.google.com/webstore/detail/json-h ...
- 031_go语言中的通道遍历
代码演示 package main import "fmt" func main() { queue := make(chan string, 2) queue <- &qu ...