机器学习算法——决策树5(连续与缺失值处理)

1.连续值处理

由于连续属性的可取值数目不再有限,因此,不能直接根据连续属性的可取值来对结点进行划分。此时,连续属性离散化技术可派上用场。

最简单的策略是采用二分法(bi-partition)对连续属性进行处理。

给定样本集D和连续属性a,假定a在D上出现了n个不同的取值,将这些值从小到大进行排序,记为{a^{1},a^{2},...,a^{n}}.基于划分点t可将D分为子集D_{t}^{-}D_{t}^{+} .

D_{t}^{-}: 包含那些在属性a上取值不大于t的样本。

D_{t}^{+}:包含那些在属性a上取值大于t的样本。

显然,对相邻的属性取值a^i 和a^{i+1} 来说,在区间[a^i,a^{i+1})中取任意值所产生的划分结果相同。所以把区间 [a^i,a^{i+1})的中位点 \frac{a^{i}+a^{i+1}}{2} 作为候选划分点。然后,我们就可像离散属性值一样来考察这些划分点,选取最优的划分点进行样本集合的划分。

Gain(D,a)=\underset{t\in T_{a}}{max}Gain(D,a,t) = \underset{t\in T_{a}}{max} Ent(D)-\sum_{\lambda \in {-,+}}\frac{|D_{t}^{\lambda}|}{|D|}Ent(D_{t}^{\lambda})

需要注意的是,与离散属性不同,若当前节点划分属性为连续属性,该属性还可作为其后带节点的划分属性。

 2. 缺失值处理

需要解决两个问题:

(1)如何在属性值缺失的情况下进行划分属性选择?

(2)给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?

对于问题(1):给定训练集D和属性a,令\widetilde{D} 表示D中在属性a上没有缺失值的样本子集。可根据\widetilde{D}来判断属性a的优劣。假定属性a有V个可取值{a^1,a^2,...,a^v},令\widetilde{D}^{v}表示\widetilde{D}中在属性a上取值为a^v的样本子集,\widetilde{D_{k}}表示\widetilde{D}中属于第k类(k=1,2,...,|y|)的样本子集。则有

\widetilde{D}=\cup_{k=1}^{|y|}\widetilde{D_{k}}                  \widetilde{D}=\cup _{v=1}^{V}\widetilde{D^{v}}

假定我们为每个样本x赋予一个权重w_{x},并定义

\rho =\frac{\sum_{x\in\widetilde{D}}{w_{x}}}{\sum_{x \in D}{w_{x}}}\tilde{r_v}\cdot w_x

\widetilde{p_{k}}=\frac{\sum_{x\in\widetilde{D_{k}}}{w_{x}}}{\sum_{x \in D}{w_{x}}}

\widetilde{r_{v}}=\frac{\sum_{x\in\widetilde{D_{v}}}{w_{x}}}{\sum_{x \in \widetilde{D}}{w_{x}}}

其中,\rho表示无缺失值样本所占的比例,\widetilde{p_{k}} 表示无缺失值样本中第k类所占的比例,\widetilde{r_{v}} 表示无缺失值样本中在属性a上取值a^{v}的样本所占的比例。

基于上述定义,将信息增益的计算式推广为:

Gain(D,a)=\rho \times Gain(\tilde{D},a) =\rho \times (Ent(\tilde{D})-\sum_{v=1}^{V}\tilde{r_v}Ent(\tilde{D^t}))

其中,Ent(\tilde{D})=-\sum_{k=1}^{|y|} \tilde{p_k}log_2\tilde{p_k}

对问题(2):若样本x在划分属性a上的取值已知,则将x划入其取值对应的子节点,且样本权值在子节点中保持为w_x。若样本x在划分属性a上的取值未知,则将x同时划入所有子节点,且样本权值在属性值a^v对应的子节点中调整为\tilde{r_v}\cdot w_x;直观地看,这就是让同一样本以不同的概率划入到不同的子节点中去。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值