《GBDT 梯度提升树》使用详解

在 scikit-learn 中,GradientBoostingRegressorGradientBoostingClassifier 是对梯度提升树算法的具体实现。它们提供了一系列用于 控制模型初始化、训练过程以及预测行为 的参数设置,帮助我们灵活地调整模型性能与泛化能力。下来,我们来看看这些类中一些最关键的参数,以及它们的作用。

class GradientBoostingClassifier(ClassifierMixin, BaseGradientBoosting):
    def __init__(
        self,
        *,
        loss="log_loss",
        learning_rate=0.1,
        n_estimators=100,
        subsample=1.0,
        criterion="friedman_mse",
        min_samples_split=2,
        min_samples_leaf=1,
        min_weight_fraction_leaf=0.0,
        max_depth=3,
        min_impurity_decrease=0.0,
        init=None,
        random_state=None,
        max_features=None,
        verbose=0,
        max_leaf_nodes=None,
        warm_start=False,
        validation_fraction=0.1,
        n_iter_no_change=None,
        tol=1e-4,
        ccp_alpha=0.0,
    ):


class GradientBoostingRegressor(RegressorMixin, BaseGradientBoosting):
    def __init__(
        self,
        *,
        loss="squared_error",
        learning_rate=0.1,
        n_estimators=100,
        subsample=1.0,
        criterion="friedman_mse",
        min_samples_split=2,
        min_samples_leaf=1,
        min_weight_fraction_leaf=0.0,
        max_depth=3,
        min_impurity_decrease=0.0,
        init=None,
        random_state=None,
        max_features=None,
        alpha=0.9,
        verbose=0,
        max_leaf_nodes=None,
        warm_start=False,
        validation_fraction=0.1,
        n_iter_no_change=None,
        tol=1e-4,
        ccp_alpha=0.0,
    ):

1. 梯度提升树全局参数

参数说明
loss损失函数类型:
分类:log_lossexponential
回归:squared_error
learning_rate学习率,用于缩小每棵树的贡献
n_estimators提升迭代次数(弱学习器的数量)
subsample每次迭代训练时使用的样本比例
init初始化模型(可为 zero 或自定义基模型)
validation_fraction早停时用于验证的样本比例
n_iter_no_change连续若干轮未改进后停止训练
tol提前停止的容差阈值
warm_start是否在已有模型基础上继续训练
random_state控制随机性(特征打乱、样本抽样、验证集划分等)
verbose输出训练过程信息的详细程度

2. 单个决策树构建参数

参数说明
criterion分裂质量评估指标:
friedman_msesquared_error
max_depth决策树的最大深度,控制树的复杂度
min_samples_split内部节点再划分所需的最小样本数
min_samples_leaf叶子节点所需的最小样本数
min_weight_fraction_leaf叶子节点所需的样本权重总和的最小比例
min_impurity_decrease节点划分时,要求 impurity 至少下降的最小值
max_features寻找最优划分时考虑的特征数量
max_leaf_nodes限制每棵树的最大叶子节点数
ccp_alpha代价复杂度剪枝

未经允许不得转载:一亩三分地 » 《GBDT 梯度提升树》使用详解
评论 (0)

4 + 2 =