各类决策树算法的对比

各类决策树算法的对比

ID3算法

ID3算法基本原理

算法的核心是在决策树各个节点上应用信息增益准则选择特征,递归的构建决策树。具体方法是:从根节点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子节点;再对子节点递归的调用以上方法,构建决策树;直到所有特征的信息增益均很小或者没有特征可以选择为止。
信息增益的公式:
在这里插入图片描述

C4.5算法

C4.5算法原理

算法用信息增益率选择特征,在树的构造过程中会进行剪枝操作优化,能够自动完成对连续属性的离散化处理;在选择分割属性时选择信息增益率最大的属性。选择信息增益率的原因时,如果特征有很多取值,使用取值多的特征会有更大的信息增益,这个问题是出现很多分支,将数据划分更细,模型复杂度高,出现过拟合的几率更大。使用信息增益比就是为了解决偏向于选择取值较多的特征的问题。使用信息增益比对取值多的特征加上的惩罚,对这个问题进行了校正。
信息增益率的计算
在这里插入图片描述

CART算法

CART树原理

CART树可以分为分类树和回归树,使用的是二元切分法来处理连续型数值。使用Gini最为分割属性选择的标准。
Gini数值越大,数据的不确定性越大。信息熵需要计算对数,计算量大;信息熵是可以处理多个类别,基尼指数就是针对两个类别计算的,由于CART树是一个二叉树,从这个角度也是应该选择简单的基尼指数进行计算。
在这里插入图片描述

三种决策树的对比

在这里插入图片描述

决策树的剪枝

决策树的剪枝分为预剪枝和后剪枝,预剪枝是在决策树的构建过程中加入限制,比如控制叶子节点最少的样本个数,提前停止:
后剪枝是在决策树构建完成之后,根据加上正则项的结构风险最小化自下向上进行的剪枝操作

Python决策树的调参

criterion: 特征选择的标准,分类树默认是gini,回归树默认是mse
splitter:best在所有特征中找出最优切分点,适用于样本量不大的情景,random在部分特征中随机选出最优划分点。默认是random
max_depth: 树的最大深度,默认是None。常用可以在10-100之间选择
min_sample_split:划分节点需要的最小样本数
min_samples_leaf:叶子节点最少样本数
min_weight_fraction_leaf:叶子节点最小的样本权重和,默认是0,就是不考虑样本的权重问题。一般来说,如果我们有较多样本有缺失值,或者有类别不平衡的状况,我们就会引入权重,这时候我们就会考虑这个值了
max_features: 默认None也就是所有,还可以选择log2,sqrt,N,特征值表小的时候一般使用所有
min_impurity_decrease:节点划分最小不纯度,默认是0
class_weight:权重,默认是None

首先调max_features,发现20的时候是最大值
在这里插入图片描述
首先调max_depth,发现10的时候是最大值
在这里插入图片描述
调整min_sample_leaf,min_sample_split
在这里插入图片描述
min_samples_leaf=0.01,min_samples_split=0.005时,效果最好

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值