您的位置:首页 > 其它

机器学习笔记(XIII)决策树(III)连续与缺失值

2017-12-19 23:06 253 查看

连续值处理

对于连续属性的可取数目不再有限,因此,不能直接根据连续属性的可取值来对结点进行划分。

连续离散化之二分法

具体做法

对于给定的样本集D和连续属性a,假定a在D上出现了n个不同的取值,将这些值从小到大进行排序,记为{a1,a2,…,an}。基于划分点t可将D分为子集D−t和D+t,

若ai∈D−t则ai≤t

若ai∈D+t则ai>t

其中i∈[1,n]

处理方式

对相邻的属性取值ai与ai+1来说,在区间[ai,ai+1)中任意的取值所产生的划分结果相同,因此对于连续的属性a。所以可以取区间[ai,ai+1)的中点来作为划分点即ai+ai+12

如此便产生了n−1个划分点。元素候选划分点集合

Ta={ai+ai+12∣1≤i≤n−1}

此时可以像离散属性值一样来考察这些划分点,选取最优的划分点进行样本集合的划分。

此时信息增益可以重新定义为:

Gain(D,a)=maxt∈TaGain(D,a,t)=maxt∈TaEnt(D)−∑λ∈{−,+}|Dλt||D|Ent(Dλt)

注意:与离散属性不同,若当前结点划分属性为连续属性,该属性还可以作为其后代结点的划分属性。

这里不同的区间相当于两种属性。

缺失值处理

在属性值较多的情况下,往往会出现大量样本属性的缺失值,为了不放弃使用有缺失值的样本。

两个问题

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

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

处理方式

给定训练集D和属性a,令D∼表示在属性a上没有缺失值的样本子集,对于问题(1),我们仅仅可以使用D∼来判断属性a的优劣。

假设

假设a有V个可取值{a1,a2,…,aV},令Dv∼表示D∼在属性a上取值为av的样本子集,Dk∼表示D∼中属于第k类(k=1,2,…,|Y|)的样本子集,显然有D∼=∪k=1|Y|Dk∼;D∼=∪v=1VDv∼,

假定给每个样本x都赋予一个权重wx并定义

ρp∼kr∼v=∑x∈D∼wx∑x∈Dwx=∑x∈Dk∼wx∑x∈D∼wx(1≤k≤|Y|)=∑x∈Dv∼wx∑x∈D∼wx(1≤v≤V)

对属性a:

ρ表示无缺失值样本所占的比例,pk∼表示无缺失值样本中第k类所占的比例

rv∼则表示无缺失值样本中属性a上取值av的样本所占的比例

显然:

∑|Y|k=1pk∼=1

∑Vv=1rv∼=1

由此可以将信息增益公式修改为:

Gain(D,a)=ρ×Gain(D∼,a)=ρ×(Ent(D∼)−∑v=1Vr˜vEnt(D∼v))

其中:

Ent(D∼)=−∑k=1|Y|p∼klog2p∼k
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习