Как XGBoost использует MAE в качестве целевой функции?Python

Программы на Python
Ответить
Гость
 Как XGBoost использует MAE в качестве целевой функции?

Сообщение Гость »


Раньше XGBoost не позволял использовать абсолютную ошибку в качестве целевой функции, поскольку это недифференцируемая функция и ее гессиан равен 0. Однако теперь он позволяет использовать ее (https://xgboost.readthedocs .io/en/stable/parameter.html).

Как это делается и как определить недифференцируемые пользовательские целевые функции?

Я попытался реализовать это просто:

def Absolute_error(predt, dtrain): y_true = dtrain.get_label() ошибки = y_true - predt grad = -1.0 * np.sign(errors) # Градиент (отрицательный знак ошибки) hess = np.zeros_like(y_true) # Гессиан (в данном случае константа 0) возвращение, выпускник, гесс Но это явно не работает
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»