决策树(decision tree)的自我理解 (下) 关于剪枝和连续值缺失值处理

来源:互联网 发布:淘宝权是哪个战队的 编辑:程序博客网 时间:2024/06/06 13:09

对剪枝的粗浅理解

剪枝分预剪枝和后剪枝,顾名思义,预剪枝就是在树还没完成之前,预先剪去树的部分分支,后剪枝就是在整棵树完成了之后对树剪去部分分支,从而完成了对树的精简操作,避免了因属性太多而造成的过拟合。

预剪枝(prepruning):在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能提升,则停止划分,并将当前结点标记为叶节点。
后剪枝(post-pruning):先从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若该结点对应的子树替换为叶结点能带来决策树泛化性能提升,则将该子树替换为叶节点。


连续值处理

一般来说,决策树处理不了具有连续值的特征,因为具有连续值的属性的可取值数目不再有限,因此不能直接用连续属性的取值来进行划分决策树。

二分法对连续值进行处理

假设属性a是连续属性,将属性a下的值从小到大排序,有{a1,a2,a3,…………an},在a(i)和a(i+1)之间取平均值,作为一个划分结点,一共有n-1个划分结点,因此我们以这些结点把数据集分为两个子集,分别计算在该结点下属性a的信息增益,计算结果有n-1个值,在n-1个值之中选取信息增益最大的值,以这个值的划分点作为把连续属性a变成2个类离散化的节点。


缺失值处理

按照我自己的理解就是  在属性a下假如存在缺失值的话,在计算属性a下的信息增益或者信息增率时,把具有缺失值的元组去掉,把具有完整值的属性a代入计算,用去掉缺失值计算结果进行比较。


原创粉丝点击