Как написать пользовательскую метрику оценки в python для xgboost?

Я хотел бы добавить метрику оценки kappa для использования в xgboost в Python. У меня возникли проблемы с пониманием того, как подключить функцию Python к xgboost.

согласно документации xgboost, "пользователь может добавить несколько оценочных метрик, для пользователя python, не забудьте передать метрики в виде списка пар параметров вместо карты, так что последний "eval_metric" не будет переопределять предыдущий"

Это было поднято в github xgboost страница для R, но не для Python.

например, если функция kappa:

def kappa(preds, y):
    # perform kappa calculation
    return score

как я могу реализовать его с помощью xgboost? Задания 'kappa' в строке

1 ответов


измените свой метод на:

def kappa(preds, y):
    # perform kappa calculation
    return 'kappa', score

и использовать его с :

bst = xgb.train(params, dtrain, num_rounds, watchlist, feval=kappa, maximize=False)

при написании пользовательских показателей оценки помните о настройке