функция lightGBM custom_asymmetric_objective - PullRequest
0 голосов
/ 10 января 2020

В этой статье https://towardsdatascience.com/custom-loss-functions-for-gradient-boosting-f79c1b40466d Он использует настраиваемую целевую функцию, чтобы назначить штраф за пасмурность. Ниже приведена функция, которую он использовал в обучении Lightgbm. У меня есть пара вопросов.

  1. Как он получает -2? почему отрицательный 2?
  2. Почему в функции гессисана он использовал положительное 2?

    def custom_asymmetric_train (y_true, y_pred):

    residual = (y_true - y_pred).astype("float")
    grad = np.where(residual<0, -2*10.0*residual, -2*residual)
    hess = np.where(residual<0, 2*10.0, 2.0)
    return grad, hess
    

    def custom_asymmetric_valid (y_true, y_pred):

    residual = (y_true - y_pred).astype("float")
    loss = np.where(residual < 0, (residual**2)*10.0, residual**2) 
    return "custom_asymmetric_eval", np.mean(loss), False
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...