sklearn的DecisionTreeClassifier的5个剪枝参数

刚刚使用SKLearn学习机器学习进行数据分析,分享一些概念和想法,希望可以大家一起讨论,如果理解或者表达有不准确的地方,请多多指点,不吝赐教,非常感谢~~

涉及决策树其他参数:
请转至《DecisionTreeClassifier的 参数criterion 与 使用红酒数据集创建一个树》:https://blog.csdn.net/weixin_42969619/article/details/98884082
以及《sklearn的DecisionTreeClassifier的参数 random_state & splitter 》:
https://blog.csdn.net/weixin_42969619/article/details/99301017


本文将继续介绍sklearn的决策树模块的其他参数:剪枝参数,用于防止模型过拟合

  • DecisionTreeClassifier及重要参数:

class sklearn.tree.DecisionTreeClassifier (criterion=’gini’, splitter=’best’, max_depth=None,
min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None,
random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None,
class_weight=None, presort=False)

6. max_depth:限制树的最大深度

决策树多生长一层,对样本量的需求会增加一倍,所以限制树深度能够有效地限制过拟合。在高维度低样本量时非常有效;建议从=3开始尝试。

7. min_samples_leaf:一个节点在分枝后,每个子节点都必须至少包含的训练样本数量

一个节点在分枝后,每个子节点都必须包含至少min_samples_leaf个训练样本,两种取值:
(1)整数
(2)浮点型:如果叶节点中含有的样本量变化很大,输入浮点数表示样本量的百分比。
如果分支后的子节点不满足参数条件,分枝就不会发生,或者,分枝会朝着满足每个子节点都包含min_samples_leaf个样本的方向去发生。

这个参数可以保证每个叶子的最小尺寸,在回归问题中避免低方差,过拟合的叶子节点出现。搭配max_depth使用,在回归树中可以让模型变得更加平滑;建议从=5开始;
对于类别不多的分类问题,=1通常就是最佳选择。

8. min_samples_split:一个节点必须要至少包含的训练样本数量

如果小于这个数量,这个节点才允许被分枝,否则分枝就不会发生。

9. max_features:分枝时考虑的最大特征个数

即在分支时,超过限制个数的特征都会被舍弃。但是在不知道决策树中的各个特征的重要性的情况下,强行设定这个参数可能会导致模型学习不足。

10. min_impurity_decrease:子父节点信息增益的最小值

信息增益是父节点的信息熵与子节点信息熵之差,信息增益越大,说明这个分支对模型的贡献越大;相反的,如果信息增益非常小,则说明该分支对模型的建立贡献不大。又由于分支需要的计算量又非常大,所以如果信息增益非常小时,我们就选择放弃该分支。min_impurity_decrease 参数就是一个节点在分支时,与其子节点的信息增益最小值。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值