Как 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) возвращение, выпускник, гесс Но это явно не работает

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