14.9 控制决策树的规模
问题描述
手动控制决策树的结构和规模。
解决方案
使用scikit-learn控制基于树的算法中的结构参数:
讨论
在scikit-learn基于树的学习算法中,有很多用于控制决策树规模的方法。我们可以通过设置不同的参数来访问这些方法。
max_depth:
树的最大深度。如果该参数为None,则树将一直生长,直到所有叶子都为纯节点。如果提供整数作为该参数的值,这棵树就会被有效“修剪”到这个整数值所表示的深度。
min_samples_split
在该节点分裂之前,节点上最小的样本数。如果提供整数作为该参数的值,则这个整数代表最小的样本数;如果提供浮点数作为参数值,则最小样本数为总样本数乘以该浮点数。
min_samples_leaf
叶子节点需要的最小样本数。与min_samples_split使用相同的参数格式。
max_leaf_nodes
最大叶子节点数。
min_impurity_split执行分裂所需的最小不纯度减少量。
了解这些参数很有用,不过一般情况下,我们只会用到max_depth和min_impurity_split这两个参数,因为较浅的树(有时称为树桩,stump)
结构更简单,并且方差较小。
本书评论