决策树--ID3,C4.5,CART

ID3 : 信息增益、集和熵-集和按照属性划分后每个子集信息熵加权和

C4.5 : 信息增益率、信息增益/属性信息熵,剪枝,连续,缺失

CART: 基尼系数、按照属性划分后每个子集合基尼指数加权和(1-概率平方和),二叉树,特征再分裂

参数

1,criterion : string, optional (default="gini"),节点分裂标准

2,splitter : string, optional (default="best"),特征分裂准则,最佳还是随机

3,max_features : int, float, string or None, optional (default=None),寻找分裂特征时需要考虑的特征数目,默认sqrt(n_features)

4,max_depth : int or None, optional (default=None),树的最大深度

5,min_samples_split : int, float, optional (default=2),分割内部节点时需要的最小样本数目

6,min_samples_leaf : int, float, optional (default=1),叶子节点上最小样本数目

7,min_weight_fraction_leaf : float, optional (default=0.),所需输入样本的最小加权分数

8,class_weight : dict, list of dicts, "balanced" or None, optional (default=None),类别权重,默认为1/正负样本比

9,min_impurity_split : float, optional (default=1e-7),停止生长的阈值

10,presort : bool, optional (default=False),是否加速

模型参数

classes_ : array of shape = [n_classes] or a list of such arrays,训练集标签
feature_importances_ : array of shape = [n_features],特征重要性列表,越大越重要
max_features_ : int,模型所使用的最多特征数目
n_classes_ : int or list,类别数量
n_features_ : int,训练模型时使用的特征数量
n_outputs_ : int,训练模型时的输出
tree_ : Tree object,底层树对象


决策树分裂条件
如果是分类树,CART采用GINI值衡量节点纯度;如果是回归树,采用样本方差衡量节点纯度。节点越不纯,节点分类或者预测的效果就越差。


{“学生”}、{“老师”、“上班族”}

预测是否已婚(分类):


预测年龄(回归):


2,预剪枝与后剪枝

PrePrune:预剪枝,及早的停止树增长,在每个父节点分支的时候计算是否达到了限制值

a. 达到最大数深度(Maximum Tree Depth);

b. 最优划分(Split)标增益小于某一个阈值也可停止树的生长;

c. 到达此结点的实例具有相同的特征向量,而不必一定属于同一类,也可停止生长。

d. 计算每次生长对系统性能的增益,如果这个增益值小于某个阈值则不进行生长。如果在最好情况下的生长增益都小于阈值,即使有些叶子结点的实例不属于同一类,也停止树的增长。

PostPrune:后剪枝,基于完全生长(过拟合)的树上进行剪枝,砍掉一些对衡量函数影响不大的枝叶

a.错误率降低剪枝,剪枝后错误率降低

b.悲观剪枝,

c.代价复杂度剪枝

3,cart结束分裂条件

a. 达到最大数深度(Maximum Tree Depth);

b. 最优划分(Split)标增益小于某一个阈值也可停止树的生长;

c. 到达此结点的实例具有相同的特征向量,而不必一定属于同一类,也可停止生长。

d. 计算每次生长对系统性能的增益,如果这个增益值小于某个阈值则不进行生长。如果在最好情况下的生长增益都小于阈值,即使有些叶子结点的实例不属于同一类,也停止树的增长。

4, 决策树的特性?

决策树基于树结构进行决策,与人类在面临问题的时候处理机制十分类似。其特点在于需要选择一个属性进行分支,在分支的过程中选择信息增益最大的属性,在划分中我们希望决策树的分支节点所包含的样本属于同一类别,即节点的纯度越来越高。决策树计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征,但是容易过拟合,需要使用剪枝或者随机森林。信息增益是熵减去条件熵,代表信息不确定性较少的程度,信息增益越大,说明不确定性降低的越大,因此说明该特征对分类来说很重要。由于信息增益准则会对数目较多的属性有所偏好,因此一般用信息增益率(c4.5) 其中分母可以看作为属性自身的熵。取值可能性越多,属性的熵越大。Cart决策树使用基尼指数来选择划分属性,直观的来说,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率,因此基尼指数越小数据集D的纯度越高,一般为了防止过拟合要进行剪枝,有预剪枝和后剪枝,一般用crossvalidation集进行剪枝。连续值和缺失值的处理,对于连续属性a,将a在D上出现的不同的取值进行排序,基于划分点t将D分为两个子集。一般对每一个连续的两个取值的中点作为划分点,然后根据信息增益选择最大的。与离散属性不同,若当前节点划分属性为连续属性,该属性还可以作为其后代的划分属性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值