make_scorer (original) (raw)

sklearn.metrics.make_scorer(score_func, *, response_method='default', greater_is_better=True, **kwargs)[source]#

Make a scorer from a performance metric or loss function.

A scorer is a wrapper around an arbitrary metric or loss function that is called with the signature scorer(estimator, X, y_true, **kwargs).

It is accepted in all scikit-learn estimators or functions allowing a scoringparameter.

The parameter response_method allows to specify which method of the estimator should be used to feed the scoring/loss function.

Read more in the User Guide.

Parameters:

score_funccallable

Score function (or loss function) with signaturescore_func(y, y_pred, **kwargs).

response_method{“predict_proba”, “decision_function”, “predict”} or list/tuple of such str, default=None

Specifies the response method to use get prediction from an estimator (i.e. predict_proba, decision_function orpredict). Possible choices are:

Added in version 1.4.

Deprecated since version 1.6: None is equivalent to ‘predict’ and is deprecated. It will be removed in version 1.8.

greater_is_betterbool, default=True

Whether score_func is a score function (default), meaning high is good, or a loss function, meaning low is good. In the latter case, the scorer object will sign-flip the outcome of the score_func.

**kwargsadditional arguments

Additional parameters to be passed to score_func.

Returns:

scorercallable

Callable object that returns a scalar score; greater is better.

Examples

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)