scikit-learn 中梯度提升回归器的初始 DummyRegressor 使用什么分位数?

数据挖掘 scikit-学习 回归 损失函数 gbm
2022-02-13 03:24:07

根据Scikit-Learn Gradient Boosting Regressor的文档:

init:估计器或“零”,默认=无:用于计算初始预测的估计器对象。init 必须提供拟合和预测。如果“零”,则初始原始预测设置为零。默认情况下,使用 DummyEstimator,预测平均目标值(对于 loss='ls')或其他损失的分位数。

那么如果损失函数是“huber”,那么 DummyRegressor 使用什么分位数呢?是50分位数吗,即。中位数?

我需要这些信息,因为我正在重建梯度提升回归器的预测器,以便在另一个软件环境中使用。

1个回答

是的,带有 Huber 损失的 GBM 使用中值初始化。相关的代码是init_estimator文件中损失类的方法_gb_losses.py对于HuberLossFunction

def init_estimator(self):
    return DummyRegressor(strategy='quantile', quantile=.5)

来源