机器学习之决策树

代码参考:https://lingmoumou.github.io/p/2020/01/15/5f13e255/#more
1.决策树解释
决策树是什么东西?就是我们平常所说的if-then条件,我们把它组合成树的结构. 决策树中有两种结点,叶子结点和非叶子结点. 其中非叶节点代表的条件,叶子结点表示的实例所属的类别.
我们如何生成这个决策树呢,最主要的一点就是选择那个特征作为当前树的分割结点,这就叫做特征选择,有了特征选择就有了决策树的生成,最后我们还有进行决策树剪枝(后面会提到为什么剪枝).
看个统计学习方法上的例子:
现在我们有下面一张表的数据,想生成一个决策树模型,预测某个人是否符合贷款条件.
在这里插入图片描述
现在假如我们通过"某种方法"构造了一颗下面的决策树. 从下图可以看到特征对应的是非叶子结点,如果这个被分到这个叶节点,就预测为这个叶节点的类别. 从图中我们可以知道以下两点:
1.每一个叶子节点都对应一条从根节点到叶节点的规则,这表示决策树是if-then规则的集合
2.如果一个实例到达了某个叶节点,一定表示它满足了从根节点到该叶子节点的所有条件,而后才得到类别,这不就是先满足条件再得到概率嘛,我们一般叫做条件概率分布
2.ID3&C4.5
常见的决策树模型有以下三种

  1. ID3: 使用信息增益准则选择特征, 相当于用极大似然法进行概率模型选择.
  2. C4.5: 和ID3算法相似, 只是用信息增益比选择特征.
  3. CART: 递归构建二叉决策树, 回归树:使用平方误差; 分类树:使用基尼指数.
    3.过拟合和剪枝
    决策树建立的过程中,只考虑经验损失最小化,没有考虑结构损失. 因此可能在训练集上表现良好,但是会出现过拟合问题.(我们构造决策树的时候,是完全的在训练数据上得到最优的模型. 这就是过拟合问题,训练误差很小,但是验证集上就不怎么好用.) 为了解决过拟合,我们从模型损失进行考虑:
    模型损失=经验风险最小化+正则项=结构风险最小化模型损失=经验风险最小化+正则项=结构风险最小化
    思路很简单,给损失函数加上正则项再进行优化. 正则项表示树节点的个数,因此有如下公式:
    Cα(T)=C(T)+α|T|
    4.代码实现
    cart树的分类和回归两个接口,接口参考sklearn
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值