决策树,随机森林补充(二)

决策树,随机森林补充(二)

一. 如何评价一棵决策树

1. 思想

首先,我们先明确一些符号和概念。

假定样本的总类别有K个。对于决策树的某叶结点,假定该叶结点含有样本数目为n。其中,第k类的样本点数目为nk (k=1,2,…,K)。我们先拿出两个极端情况:

  • 假如某类样为第j个样本本nj =n,而n1 ,…,n(j-1) ,n(j+1) ,…,nK =0,那么,我们称这个nj结点为纯结点;(说白了,只有一种类别)

  • 若各类样本数目n1 =n2 =…=nk =n/K,称该样本为均结点。(即:所有类别)

纯结点与均结点有如下特点:

  • 纯结点的熵Hp =0,最小
  • 均结点的熵Hu =lnk, (满k叉树的高度),最大

在这个情况下,我们对所有叶子结点的高度求和,在决策树中,就相当于我们对所有叶结点的熵求和,该值越小说明对样本的分类越精确。

2. 评价函数

这个评价函数就是: C ( T ) = ∑ t ∈ l e a v e s N t × H ( t ) C(T) = \sum_{t\in leaves}Nt\times H(t) C(T)=tleavesNt×H(t) 。该评价函数值越小越好,某些方面讲,也可以把他当做损失函数。

二.决策树过拟合的处理

1. 剪枝

我们之前已经知道,决策树有三种构造方式:ID3,C4.5,CART。无论你是哪种剪枝方式,剪枝的思路都一样。只有一个一点不一样:每剪一次,对当前树的评价标准不一样。如果这个决策树是ID3构造的,你就得按照信息增益值为标准;如果是C4.5,你就得按照信息增益率为标准;如果是CART,你就得按照基尼系数为标准。

那么,如何进行剪枝呢?思路如下:

  • 首先,由完全树T0 开始,剪枝部分结点得到T1 ,再次剪枝部分结点得到T2 …直到仅剩树根的树T k ;
  • 每剪一次,都会得到一次全新的树。剪枝k次,就会得到k个全新的树。在验证数据集上对这k个树分别评价,选择损失函数最小的树Tα为最后的决策树

关于剪枝,其实有预剪枝,即在训练之前就进行剪枝,还有后剪枝,即:过拟合之后再进行剪枝。

预剪枝比较容易,甚至在api里面就直接有,你只需指定定决策树的高度等等参数即可。如果不合适,再在api当中直接进行调参即可。

后剪枝比较麻烦,下面的内容都是后剪枝的内容。

2.剪枝系数

我们从评价函数入手: C ( T ) = ∑ t

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值