Datawhale 吃瓜教程 决策树

一、决策树 基本定义

常见的机器学习分类方法 基于树结构进行决策 这一决策包含很多次子决策

其中每次子决策都是对某个属性的测试和判断

二、如何选择最优划分属性

1  信息增益

遵循希望决策树的分支节点包含的样本尽可能属于同一类别 即“纯度”高

* 即希望某一类别占比非常大or特别小 这个属性能够将样本分的越开越好

判断方法为信息增益 通过信息熵判断 熵越小即纯度越高 所以我们希望信息增益大

具体操作室计算当前属性集合中每个属性的信息增益 选择那个使得信息增益最大的属性作为结点

但信息增益的方法存在缺点:对可取值数目更多的属性有所偏好 比如样本id 完全将所有样本分开了 每个类都很纯净 但其实啥都没学到 为了避免这个问题 提出 增益率

2 增益率

其实就是在信息增益的基础上加上属性“固有值”判断 即 一个属性可取值数目的判断

3 GINI指数

反映了从数据集中随机抽取两个样本 其类别标注不一致的概率 gini越小 纯度越高

三、剪枝处理

如果让决策树一直进行结点划分 类似与深度学习模型 无限量加网络层神经元 会导致model过于复杂 造成过拟合 为了避免这个问题 提出剪枝处理 包含 预剪枝 后剪枝

预剪枝就是在进行结点划分之前 去判断val的性能是否有提升 如若有就进行划分 若无则剪枝 不需要继续划分

后剪枝则是形成整个决策树后判断 从最低的结点开始判断val的性能是否有提升 若无则剪枝

所以后剪枝需要更大的计算资源 但由于其将会保留val精度不变的枝 所以可能会比预剪枝保留更多枝 防止欠拟合发生

四、连续与缺失值

连续值可通过连续属性离散化 进行二分法 将属性中所有值划分为两类再进行判断和划分

缺失值通过完整样本(即没有缺失值的样本)进行属性选择 然后在划分样本的时候 根据完整样本的概率给每个样本weight 分别划分到不同类 也就是还按照完整样本的比例概率

五、多变量决策树

适用于更复杂的情况 之前是按照单独一个属性进行划分 而现在是对属性的线性组合进行划分 每个属性都有不同weight

*这个weight是参数可学习???看起来不是呀 等两遍学得更深入了再来更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值