make_scorer#

sklearn.metrics.make_scorer(score_func, *, response_method='predict', greater_is_better=True, **kwargs)[источник]#

Создать оценщик из метрики производительности или функции потерь.

Scorer — это обертка вокруг произвольной метрики или функции потерь, которая вызывается с сигнатурой scorer(estimator, X, y_true, **kwargs).

Принимается всеми оценщиками или функциями scikit-learn, допускающими scoring параметр.

Параметр response_method позволяет указать, какой метод оценщика должен использоваться для передачи функции оценки/потерь.

Подробнее в Руководство пользователя.

Параметры:
score_funccallable

Функция оценки (или функция потерь) с сигнатурой score_func(y, y_pred, **kwargs).

response_method{“predict_proba”, “decision_function”, “predict”} или список/кортеж таких строк, по умолчанию=”predict”

Указывает метод ответа для получения прогноза от оценщика (т.е. predict_proba, decision_function или predict). Возможные варианты:

  • if strсоответствует имени метода, который должен быть возвращен;

  • если список или кортеж str, он предоставляет имена методов в порядке предпочтения. Возвращаемый метод соответствует первому методу в списке, который реализован в estimator.

Добавлено в версии 1.4.

greater_is_betterbool, по умолчанию=True

Определяет ли score_func является функцией оценки (по умолчанию), означающей, что высокое значение — хорошо, или функцией потерь, означающей, что низкое значение — хорошо. В последнем случае объект scorer будет инвертировать знак результата score_func.

**kwargsдополнительные аргументы

Дополнительные параметры для передачи в score_func.

Возвращает:
scorercallable

Вызываемый объект, возвращающий скалярную оценку; чем больше, тем лучше.

Примеры

>>> from sklearn.metrics import fbeta_score, make_scorer
>>> ftwo_scorer = make_scorer(fbeta_score, beta=2)
>>> ftwo_scorer
make_scorer(fbeta_score, response_method='predict', beta=2)
>>> from sklearn.model_selection import GridSearchCV
>>> from sklearn.svm import LinearSVC
>>> grid = GridSearchCV(LinearSVC(), param_grid={'C': [1, 10]},
...                     scoring=ftwo_scorer)