一、引入
通过前面的学习,我们已经了解了决策树的基本构建原理,但是,决策树也不可能无限地生长,总有停止分裂的时候,最极端的情况是当节点分裂到只剩下一个数据点时自动结束分裂,这种情况下,树的结构复杂,而且模型预测精度不高。一般情况下,为了降低决策树复杂度、提高模型预测的精度,会适当提前终止节点的分裂,那么,如何来判断是否应该停止分裂呢?下面我们来学习一下决策树停止分裂的条件。
二、停止分裂的条件
决策树停止分裂的一般性条件主要包含以下几个方面:
(1)最小节点数
当节点的数据量小于指定的阈值时,不继续分裂,有两个原因:
A. 当数据量较少时,继续分裂容易强化噪声数据的作用;
B. 为了降低树模型的复杂性,提前结束分裂一定程度上有利于降低过拟合的影响。
(2)熵或者基尼值小于阀值
我们知道,熵和基尼值的大小可以表示数据的不确定程度,当熵或者基尼值过小时,表示数据的纯度比较大,也就是说,如果熵或基尼值小于设定的阈值时,说明已经达到了很好的分类效果,此时就可以停止节点划分。
(3)决策树的深度达到指定条件
A. 节点的深度。某一节点的深度可以理解为该节点与跟节点的距离,例如,对于根节点的子节点来说,其深度为1,因为这些节点与跟节点的距离为1。每层子节点的深度都要比相应的父节点的深度大1。
B. 决策树的深度。决策树的深度是指所有叶节点的最大深度,当该深度到达指定的上限大小时,停止分裂。
(4)所有特征已经使用完毕,不可再分
这是被动式停止分裂的条件,也就是说,当没有可分的属性时,直接将当前节点设置为叶节点。