💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖
本博客的精华专栏:
【自动化测试】 【测试经验】 【人工智能】 【Python】
Sklearn 决策树模型参数详解:叶节点最小样本数(min_samples_leaf)
在使用 Sklearn 构建决策树(
DecisionTreeClassifier
或DecisionTreeRegressor
)模型时,min_samples_leaf
是一个非常关键的参数,影响模型的泛化能力、结构复杂度和预测稳定性。
本文将从定义、作用、对比实验、调参方法等多个角度,详细讲解这个参数的使用技巧与实践建议。
🌱 一、什么是 min_samples_leaf?
参数定义
min_samples_leaf
表示一个叶子节点上最少需要包含的样本数。在训练过程中,如果一个分裂操作会导致某个子节点样本数少于该值,该分裂将不会被执行。
DecisionTreeClassifier(min_samples_leaf=5)
表示:每个叶节点至少包含 5 个样本,分裂操作才能成立。
默认值与类型说明
-
默认值:
1
-
支持类型:
- 整数: 指定最小样本个数,例如
min_samples_leaf=5
- 浮点数(0~1): 表示样本总数的比例,例如
min_samples_leaf=0.05
表示每个叶节点至少包含 5% 的训练样本
- 整数: 指定最小样本个数,例如
⚠️ 注意:浮点数类型对于大数据集尤为实用,可避免固定样本值在不同规模数据集中的“不合理性”。
🌳 二、为什么要设置 min_samples_leaf?
1. 降低过拟合风险
当 min_samples_leaf=1
时,模型可能会学习训练集中极端样本,导致模型复杂、对噪声敏感,从而出现过拟合。