剪枝的重要参数
我们知道,在不加限制的情况下,一棵决策树会一直生长,直到衡量其不纯度的指标达到最优,或者没有更多的属性可用为止,而这样的决策树往往会存在过拟合。所以,为了让决策树有更好的泛化性能,我们需要对决策树进行剪枝处理。值得注意的是,剪枝策略对决策树的影响巨大,正确的剪枝策略是优化决策树算法的核心。 sklearn为我们提供了不同的剪枝策略。
(1)max_depth
该参数限制了树的最大深度,超过设定深度的树枝会被全部剪掉,是使用最为广泛的剪枝参数。在数据维度较高、样本量较少时非常有效,决策树多生长一层,对样本量的需求会增加一倍,所以限制树深度就能够有效地限制模型过拟合,在集成算法中也非常实用。实际使用时,建议从3开始尝试,看看拟合的效果后再决定是否增加设定深度。
(2)min_samples_leaf
该参数指定了每个叶子节点包含的最少样本数。设置的太小容易引起过拟合,设置的太大则容易阻止模型对训练数据的学习。一般来说,建议从5开始使用。由于该参数可以保证每个叶节点的最小尺寸,所以在回归问题中可以避免低方差、过拟合的叶子节点出现。对于类别不多的分类问题,设置为1通常就是最佳选择。
(3)min_samples_split
该参数指定了每个内部节点(非叶子节点)包含的最少样本量,即一个内部节点必须要包含至少min_samples_split个训练样本时才允许被继续分支,否则就停止分支。
尝试根据学习内容执行下节代码吧!