吃瓜教程task03 第4章 决策树

第四章 决策树

2022/5/26 雾切凉宫 至4.2节/视频P6

4.1 基本流程

p6 决策树

p6.1 算法原理

逻辑角度,-堆if else语句的组合
几何角度,根据某种准则划分特征空间
最终目的:将样本越分越“

4.2划分选择

p6.2 ID3决策树
自信息

I ( X ) = − l o g b p ( x ) I(X)=-log_bp(x) I(X)=logbp(x)

当b = 2时单位为bit,当b = e时单位为nat (仅仅是个单位)

信息熵(自信息的期望)

度量随机变量X的不确定性,信息熵越大越不确定
H ( x ) = E [ I ( x ) ] = − ∑ x p ( x ) l o g b p ( x ) H(x)=E[I(x)]=-\sum_xp(x)log_bp(x) H(x)=E[I(x)]=xp(x)logbp(x)
当X的某个取值的概率为1时信息熵最小(最确定),其值为0;当X的各个取值的概率均等时信息熵最大(最不确定),其值为logb |X|,其中|X|表示X可能取值的个数。

纯度

将样本类别标记y视作随机变量,各个类别在样本集合D中的占比pk视作各个类别取值的概率,则样本集合D (随机变量y)的信息熵(底数b取2) 为:
E n t ( D ) = H ( y ) = − ∑ k = 1 ∣ y ∣ p k l o g 2 p k Ent(D)=H(y)=-\sum^{|y|}_{k=1}p_klog_2p_k Ent(D)=H(y)=k=1ypklog2pk
此时的信息熵所代表的“不确定性”可以转换理解为集合内样本的**“纯度”**。Ent(D)的值越小,D的纯度越高。

条件熵

条件熵(Y的信息熵关于随机分布X的期望) :在已知X后Y的不确定性
H ( Y ∣ X ) = ∑ x p ( x ) H ( Y ∣ X = x ) H(Y|X)=\sum_xp(x)H(Y|X=x) H(YX)=xp(x)H(YX=x)
Dv表示属性a取值属于{a1,a2,…av}的样本集合,在已知属性a的取值后,样本集合D的条件熵为:
∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) \sum^V_{v=1}\frac{{|D^v|}}{{|D|}}Ent(D^v) v=1VDDvEnt(Dv)

信息增益

信息增益:在已知属性(特征) a的取值后y的不确定性减少的量,也即纯度的提升
G a i n ( D , a ) = E n t ( D ) − ∑ v = 1 V D v D E n t ( D v ) Gain(D,a)=Ent(D)-\sum^V_{v=1}\frac{D^v}{D}Ent(D^v) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)

ID3决策树

以信息增益为准则来选择划分属性的决策树
a ∗ = a r g m a x G a i n ( D , a ) a_*={argmax}Gain(D,a) a=argmaxGain(D,a)
说人话:在所有属性中找到信息增益(Gain)最大的**属性值(a)**作为决策树的决策变量。

p6.3 C4.5决策树

信息增益准则对可能取值数目较多的属性有所偏好(例如“编号”这个较为极端的例子,不过其本质原因不是取值数目过多,而是每个取值里面所包含的样本量太少),为减少这种偏好可能带来的不利影响,C4.5决策树选择使用**“增益率"代替“信息增益”**

增益率

增益率定义为:
G a i n r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain_ratio(D,a)=\frac{Gain(D,a)}{IV(a)} Gainratio(D,a)=IV(a)Gain(D,a)
其中:
I V ( a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ l o g 2 D v D IV(a)=\sum_{v=1}^V\frac{{|D^v|}}{{|D|}}log_2\frac{D^v}{D} IV(a)=v=1VDDvlog2DDv
称为属性a的**“固有值”,a的可能取值个数V越大,通常其固有值IV(a)也越大。但是,增益率对可能取值数目较少**的属性有所偏好。

因此,C4. 5决策树并未完全使用“增益率"代替“信息增益”,而是采用一种启发式的方法:
先选出信息增益高于平均水平的属性,然后再从中选择增益率最高的。

p6.4 CART决策树
基尼值

从样本集合D中随机抽取两个样本,其类别标记不一致的概率。因此,基尼值越小,碰到异类的概率就越小,纯度自然就越高。
G i n i ( D ) = ∑ k = 1 ∣ y ∣ p k ( 1 − p k ) = 1 − ∑ k = 1 ∣ y ∣ p k 2 Gini(D)=\sum_{k=1}^{{|y|}}p_k(1-p_k)=1-\sum_{k=1}^{{|y|}}p_k^2 Gini(D)=k=1ypk(1pk)=1k=1ypk2

基尼指数

属性a的基尼指数,类似条件熵:
G i n i _ i n d e x ( D , a ) = ∑ v = 1 V ∣ D v ∣ ∣ D ∣ G i n i ( D v ) Gini\_index(D,a)=\sum_{v=1}^V\frac{{|D^v|}}{{|D|}}Gini(D^v) Gini_index(D,a)=v=1VDDvGini(Dv)

CART决策树

选择基尼指数最小的属性作为最优划分属性
a ∗ = a r g m i n G i n i _ i n d e x ( D , a ) a_*=argminGini\_index(D,a) a=argminGini_index(D,a)
CART决策树的实际构造算法如下:

  • 首先,对每个属性a的每个可能取值v,将数据集D分为a=v和a≠y两部分来计算基尼指数,即:
    G i n i _ i n d e x ( D , a ) = ∣ D a = v ∣ ∣ D ∣ G i n i ( D a = v ) + ∣ D a ≠ v ∣ ∣ D ∣ G i n i ( D a ≠ v ) Gini\_index(D,a)=\frac{|{D^{a=v}}|}{{|D|}}Gini(D^{a=v})+\frac{|{D^{a\not=v}}|}{|{D}|}Gini(D^{a\not=v}) Gini_index(D,a)=DDa=vGini(Da=v)+DDa=vGini(Da=v)

  • 然后,选择基尼指数最小的属性及其对应取值作为最优划分属性和最优划分点;

  • 最后,重复以上两步,直至满足停止条件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值