再现LightGBM自定义损失函数以进行回归

问题描述 投票:1回答:1

我想为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用于“回归”目标的默认函数是什么?

xgboost lightgbm
1个回答
0
投票

您可以看到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
© www.soinside.com 2019 - 2024. All rights reserved.