缺失值场景
(1)在各列特征都有缺失值时,选择哪列特征去当前划分分支?
(2)选定划分分支的特征后,如果某样本在该特征上取值缺失,该把这个样本划分到哪个分支?
一些数学原理
特征aaa的VVV个取值{a1,a2,...,aV}\{a^1, a^2, ..., a^V\}{a1,a2,...,aV}
样本子集D~\tilde{D}D~中,属于第kkk类(k=1,2,...,N)(k=1,2,...,N)(k=1,2,...,N)的子集为D~k\tilde{D}_kD~k
=> D~=⋃k=1ND~k=⋃v=1VD~v\tilde{D}=\bigcup_{k=1}^N \tilde{D}_k=\bigcup_{v=1}^V \tilde{D}^vD~=⋃k=1ND~k=⋃v=1VD~v
假定样本xxx的权重为wxw_xwx,则对特征aaa有
无缺失样本占比:ρ=∑x∈D~wx∑x∈Dww无缺失样本占比:\rho=\frac{\sum_{x\in\tilde{D}}w_x}{\sum_{x\in D}w_w}无缺失样本占比:ρ=∑x∈Dww∑x∈D~wx
无缺失样本,第k类占比:p~k=∑x∈D~kwx∑x∈D~wx(1≤k≤N)无缺失样本,第k类占比:\tilde{p}_k=\frac{\sum_{x\in\tilde{D}_k}w_x}{\sum_{x\in \tilde{D}}w_x}(1\leq k\leq N)无缺失样本,第k类占比:p~k=∑x∈D~wx∑x∈D~kwx(1≤k≤N)
无缺失样本,特征a=av占比:r~v=∑x∈D~vwx∑x∈D~wx(1≤v≤V)无缺失样本,特征a=a^v占比:\tilde{r}_v=\frac{\sum_{x\in\tilde{D}^v}w_x}{\sum_{x\in \tilde{D}}w_x}(1\leq v\leq V)无缺失样本,特征a=av占比:r~v=∑x∈D~wx∑x∈D~vwx(1≤v≤V)
相应的信息增益为
Gain(D,a)=ρ×(Ent(D~)−∑v=1Vr~vEnt(D~v)),Ent(D~)=−∑k=1Np~klogp~kGain(D,a)=\rho\times\Big(Ent(\tilde{D})-\sum\limits_{v=1}^V\tilde{r}_vEnt(\tilde{D}_v)\Big),Ent(\tilde{D})=-\sum\limits_{k=1}^N\tilde{p}_k log\tilde{p}_kGain(D,a)=ρ×(Ent(D~)−v=1∑Vr~vEnt(D~v)),Ent(D~)=−k=1∑Np~klogp~k
分裂方法
训练集DDD,特征aaa,在特征aaa上有值(非缺失)的样本子集D~\tilde{D}D~
=> 则根据子集D~\tilde{D}D~ 判定特征aaa的优劣
在选定特征aaa上缺失的样本,划分特征aaa时
=> 把该样本 同时划入所有子节点,按特征aaa的取值占比 计算样本分裂到各分支的权重r~vwx\tilde{r}_v w_xr~vwx