决策树总结

ID3决策树

使用信息增益确定最优划分属性。
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=1}^{V}\frac{\mid D^v\mid}{\mid D\mid}Ent(D^v) Gain(D,a)=Ent(D)v=1VDDvEnt(Dv)
其中 G a i n ( D , a ) Gain(D, a) Gain(D,a)表示数据集 D D D上属性a的信息增益; E n t ( D ) Ent(D) Ent(D)表示数据集 D D D的信息熵; V V V表示属性 a a a的可取值数目; D v D^v Dv表示属性 a a a上取值为 a v a^v av a a a的第 v v v个可取值)的样本。

缺点:偏向于可取值数目较多的属性。

C4.5决策树

使用增益率确定最优属性划分。
G a i n _ r a d i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain\_radio(D,a)=\frac{Gain(D,a)}{IV(a)} Gain_radio(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{\mid D^v\mid}{\mid D\mid}log_2\frac{\mid D^v\mid}{\mid D\mid} IV(a)=v=1VDDvlog2DDv
为属性 a a a的固有值,信息熵,通常属性 a a a的可取值越多,固有值越大。

C4.5决策树偏向取值少的属性,为避免这一限制,实际的C4.5决策树算法先从划分属性中找到信息增益高于平均水平的属性,在从中选择增益率最高的。

连续属性:C4.5决策树使用二分法处理连续属性。
G a i n ( D , a ) = max ⁡ t ∈ T a    G a i n ( D , a , t ) = max ⁡ t ∈ T a    E n t ( D ) − ∑ λ ∈ { − , + } ∣ D t λ ∣ ∣ D ∣ E n t ( D t λ ) \begin{aligned} Gain(D, a)&=\max\limits_{t\in T_a}\;Gain(D, a, t)\\ &=\max\limits_{t\in T_a}\;Ent(D)-\sum_{\lambda\in\{-,+\}}\frac{\mid D_t^\lambda\mid}{\mid D\mid}Ent(D^\lambda_t) \end{aligned} Gain(D,a)=tTamaxGain(D,a,t)=tTamaxEnt(D)λ{,+}DDtλEnt(Dtλ)
其中
T a = { a i + a i + 1 2 ∣ 1 ≤ i ≤ n − 1 } T_a=\{ \frac{a^i+a^{i+1}}{2}\mid1\leq i\leq n-1 \} Ta={2ai+ai+11in1}
为对属性 a a a的所有取值排序后得到的中位点集合, D t + D_t^+ Dt+ D t − D_t^- Dt分别表示 D D D上属性 a a a取值大于 t t t的样本和不大于 t t t的样本。二分法尝试对每个中位点划分,从而找到最佳划分点。

缺失值处理:对属性 a a a D ~ \tilde{D} D~表示在属性 a a a上没有缺失值的样本子集, a a a可取值 { a 1 , a 2 , . . . , a V } \{a^1,a^2,...,a^V\} {a1,a2,...,aV} D ~ v \tilde{D}^v D~v表示 D ~ \tilde{D} D~中在属性 a a a上取值为 a v a^v av的样本子集, D ~ k \tilde{D}_k D~k表示 D ~ \tilde{D} D~中属于第 k k k类( k = 1 , 2 , . . . , ∣ Y ∣ k=1,2,...,\mid\mathcal{Y}\mid k=1,2,...,Y)的样本子集。

首先对所有样本定义一个权重 w x w_\boldsymbol{x} wx,初始为1,定义
ρ = ∑ x ∈ D ~ w x ∑ x ∈ D w x p ~ k = ∑ x ∈ D ~ k w x ∑ x ∈ D w x r ~ v = ∑ x ∈ D ~ v w x ∑ x ∈ D w x \begin{aligned} \rho&=\frac{\sum_{\boldsymbol{x}\in\tilde{D}}w_\boldsymbol{x}}{\sum_{\boldsymbol{x}\in{D}}w_\boldsymbol{x}}\\ \tilde{p}_k&=\frac{\sum_{\boldsymbol{x}\in\tilde{D}_k}w_\boldsymbol{x}}{\sum_{\boldsymbol{x}\in{D}}w_\boldsymbol{x}}\\ \tilde{r}_v&=\frac{\sum_{\boldsymbol{x}\in\tilde{D}^v}w_\boldsymbol{x}}{\sum_{\boldsymbol{x}\in{D}}w_\boldsymbol{x}} \end{aligned} ρp~kr~v=xDwxxD~wx=xDwxxD~kwx=xDwxxD~vwx
ρ \rho ρ表示无缺失值样本所占的比例, p ~ k \tilde{p}_k p~k表示无缺失值样本中第 k k k类所占的比例, r ~ v \tilde{r}_v r~v表示无缺失值样本中属性 a a a上取值为 a v a^v av的样本所占的比例。那么信息增益可推广为
G a i n ( D , a ) = ρ × G a i n ( D ~ , a ) = ρ × ( E n t ( D ~ ) − ∑ i = 1 V r ~ v E n t ( D ~ v ) ) \begin{aligned} Gain(D,a)&=\rho\times Gain(\tilde{D},a)\\ &=\rho\times(Ent(\tilde{D})-\sum_{i=1}^{V}\tilde{r}_vEnt(\tilde{D}^v)) \end{aligned} Gain(D,a)=ρ×Gain(D~,a)=ρ×(Ent(D~)i=1Vr~vEnt(D~v))
其中
E n t ( D ~ ) = − ∑ i = 1 ∣ Y ∣ p ~ k l o g 2 p ~ k Ent(\tilde{D})=-\sum_{i=1}^{\mid \mathcal{Y}\mid}\tilde{p}_klog_2\tilde{p}_k Ent(D~)=i=1Yp~klog2p~k
在划分时,若样本 x \boldsymbol{x} x的划分属性已知,则直接划分到对应子节点,权值保持不变;否则同时将样本 x \boldsymbol{x} x划分到所有子节点,在与属性 a v a^v av对应的子节点中权值调整为 r ~ v w x \tilde{r}_vw_\boldsymbol{x} r~vwx,也就是让一个样本以不同概率划分到不同节点。

在确定最优划分属性时只使用无缺失值样本,在划分时对缺失值划分入所有子节点。

CART决策树

使用基尼指数确定最优划分属性。
G i n i ( D ) = ∑ k = 1 ∣ Y ∣ ∑ k ′ ≠ k p k p k ′ = 1 − ∑ k = 1 ∣ Y ∣ p k 2 \begin{aligned} Gini(D)&=\sum_{k=1}^{\mid \mathcal{Y}\mid}\sum_{k'\neq k}p_kp_k'\\ &=1-\sum_{k=1}^{\mid \mathcal{Y}\mid}p_k^2 \end{aligned} Gini(D)=k=1Yk̸=kpkpk=1k=1Ypk2
其中 ∣ Y ∣ \mid\mathcal{Y}\mid Y代表类别数, p k p_k pk代表取第 k k k个类别的概率。表示从数据集中随机抽取两个样本,其类别标记不一致的概率。基尼系数越小,表示数据集纯度越高。
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{\mid D^v\mid}{\mid D\mid}Gini(D^v) Gini_index(D,a)=v=1VDDvGini(Dv)
基尼指数是属性划分后的基尼系数加权和,越小越好。

多变量决策树

多变量决策树的非叶节点不再是对单个属性进行划分,而是对属性的线性组合进行划分。形如 ∑ i = 1 d w i a i = t \sum_{i=1}^{d}w_ia_i=t i=1dwiai=t,其中 w i w_i wi是属性 a i a_i ai的权重,例如“ − 0.8 × -0.8\times 0.8×密度 − 0.44 × -0.44\times 0.44×含糖率 ≤ − 0.313 \leq-0.313 0.313“, w i w_i wi t t t通过学习得到。能够实现斜的划分边界。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值