决策树进阶

一、决策树基础回顾
决策树有三种算法:ID3,C4.5以及CART。ID3用的是信息增益准则,偏好于可取值数目较多的属性。C4.5介于信息增益准则和增益率准则之间,先从候选划分属性中找出信息增益高于平均水平的属性,然后从这些属性中选择增益率最大的,这样在选择结点时受属性的取值数目影响较小。CART算法则是和ID3算法异曲同工,只是衡量数据集的纯度所用的方法不一样,CART用基尼值来度量数据集的纯度。
二、决策树的剪枝处理
剪枝是决策树学习算法对付“过拟合”的主要手段。决策树的剪枝的基本策略有“预剪枝”和“后剪枝。

预剪枝是自上而下,先找出最优属性,若当前节点的划分不能使决策树的泛化性能得到提升,则停止划分。用“验证集”的数据衡量泛化性能,若验证集在该节点划分前的精度(准确率)大于该节点划分后的精度(准确率)则进剪掉该节点。有些分支当前的划分不能提升泛化性能,但是在后续的划分中却有可能使泛化性能提升,因此预剪枝有欠拟合的风险。

后剪枝则是先从训练集生成一颗完整的决策树,然后自底向上比较结点划分前后验证集的精度,若该节点替换为叶节点后泛化能力提升,则剪枝。后剪枝决策树通常比预剪枝决策树保留了更多的分支,一般情形下,欠拟合风险很小,但训练时间开销要比预剪枝大很多。

三、连续值与缺失值的处理
1、连续值
(1)把连续属性离散化,然后再用决策树的算法。
2、缺失值的处理
某些样本在某些属性上有缺失值,根据某一划分属性计算信息增益时先把该属性上有缺失值的样本拿出来,获得信息增益最大的属性为结点,然后根据属性各取值的概

你可能感兴趣的:(机器学习基础教程,决策树,python)