首页 > 试题广场 >

ID3,C4.5和CART三种决策树的区别

[问答题]

ID3,C4.5和CART三种决策树的区别

具体介绍可参见个人博客关于决策树部分介绍Decision Tree

关于三种生成算法及其对应的剪枝算法的代码实现见个人github

欢迎拍砖

ID3

生成决策树

ID3算法生成决策树时,在每一层选取信息增益最大的特征及其所有可能的取值划分数据集,因此ID3生成不一定是二叉树

剪枝

ID3的剪枝是通过比较某一分支在被剪前后损失函数的变化进行的

C4.5

C4.5在划分数据集时采用的依据为信息增益比,这样可以避免ID3算法中倾向于选取取值可能性较多的特征的现象

CART

生成决策树

CART在生成树时,通过遍历每个特征的所有可能取值,计算出基尼系数(classification)均方误差(regression)最大或最小的特征及其取值,根据是否等于该值划分数据集,因此CART得出的决策树是二叉树。其中回归树的本质也是分类的思想。

剪枝

CART采用一个非固定的 ‘正则化参数’,通过逐步增加(或减小)该值,得到多个剪枝后的子树,通过交叉验证选取最优子树

发表于 2019-04-23 21:08:43 回复(0)

https://blog.csdn.net/Neekity/article/details/88091758
决策树(decision tree)是一种基本的分类与回归方法,主要优点时模型具有可读性,分类速度快,学习时利用训练数据根据损失函数最小化的原则建立决策树模型。预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括三个步骤:特征选择,决策树的生成和决策树的修剪。

决策树学习的损失函数通常是正则化的极大似然函数,决策树学习的策略是以损失函数为目标函数的最小化。确定了损失函数后,学习问题就变为在损失函数意义下选择最优决策树的问题,但这是个NP完全问题,一般采用启发式算法来近似求解这一最优化问题。

1. 信息增益(ID3算法)
特征A对训练数据集D信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵之差,即
假设训练数据集为D,容量为。有K类,个数为。特征A有n个不同的取值,根据这些取值会把D划分为n个子集,样本个数是子集中属于类的样本个数是。那么通过计算选择出信息增益最大的特征作为切分点。$
2. 信息增益比(C4.5生成算法)

以信息增益作为划分训练数据的特征,存在偏向于选择取值较多的特征的问题,使用信息增益比可以解决这个问题。

3. 基尼指数(CART分类与回归树)
分类问题中,假设有K个类,样本点属于第k类的概率为,则概率分布的基尼指数为$对于给定的样本集合D在特征AD的基尼指数定义为$

发表于 2019-04-14 16:10:57 回复(0)

ID3:通过信息增益来进行特征选择

C4.5:通过信息增益比来进行特征选择

CART:通过基尼系数来进行特征选择(对于每一个特征A,对于A的每一个取值a,计算数据集中特征A等于a和不等于a的两个数据集的基尼系数,选择基尼系数最小的特征和特征取值)

发表于 2019-04-21 16:11:34 回复(1)
ID3使用最大信息增益,但信息增益偏好取值较多的属性,C4.5使用最大信息增益率,但最大信息增益率偏好取值较少的属性,故使用启发式:先选出信息增益高于平均水平的属性,再选择信息增益率最大的属性。CART使用最小基尼指数。
发表于 2020-06-24 09:45:35 回复(0)