【问题标题】:Reproduce LightGBM Custom Loss Function for Regression重现用于回归的 LightGBM 自定义损失函数
【发布时间】:2020-02-18 22:23:46
【问题描述】:

我想重现 LightGBM 的自定义损失函数。这是我尝试过的:

lgb.train(params=params, train_set=dtrain, num_boost_round=num_round, fobj=default_mse_obj)

将 default_mse_obj 定义为:

residual = y_true - y_pred.get_label()
grad = -2.0*residual
hess = 2.0+(residual*0)
return grad, hess

但是,与定义的自定义损失函数相比,默认“回归”目标的评估指标不同。我想知道,LightGBM 用于“回归”目标的默认函数是什么?

【问题讨论】:

    标签: python python-3.x machine-learning xgboost lightgbm


    【解决方案1】:

    如你所见here,这是回归任务的默认损失函数

    def default_mse_obj(y_pred, dtrain):
    
        y_true = dtrain.get_label()
    
        grad = (y_pred - y_true)
        hess = np.ones(len(grad))
    
        return grad, hess
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-14
      • 2021-07-21
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      • 2020-12-19
      • 2017-04-04
      • 2017-12-18
      相关资源
      最近更新 更多