sklearn.metrics
.make_scorer¶
- sklearn.metrics.make_scorer()¶
Hace un puntuador (scorer) a partir de una métrica de rendimiento o una función de pérdida.
Esta función de fábrica envuelve (wraps) funciones de puntuación para su uso en
GridSearchCV
ycross_val_score
. Toma una función de puntuación, comoaccuracy_score
,mean_squared_error
,adjusted_rand_index
oaverage_precision
y devuelve un invocable (callable) que puntúa la salida de un estimador. La firma de la llamada es(estimator, X, y)
dondeestimator
es el modelo a evaluar,X
son los datos yy
es el etiquetado real (oNone
en el caso de modelos no supervisados).Leer más en el Manual de Usuario.
- Parámetros
- score_funccallable o invocable
Función de puntuación (o función de pérdida) con la firma
score_func(y, y_pred, **kwargs)
.- greater_is_betterbool, default=True
Si score_func es una función de puntuación (predeterminado), lo que significa que alto es bueno, o una función de pérdida, lo que significa que bajo es bueno. En este último caso, el objeto puntuador invertirá el signo del resultado de score_func.
- needs_probabool, default=False
Si score_func requiere predict_proba para obtener estimaciones de probabilidad de un clasificador.
Si es True, para el binario
y_true
, se supone que la función de puntuación acepta uny_pred
1D (es decir, la probabilidad de la clase positiva, forma(n_samples,)
).- needs_thresholdbool, default=False
Si score_func toma una certeza de decisión continua. Esto sólo funciona para la clasificación binaria utilizando estimadores que tienen un método decision_function o predict_proba.
Si es True, para el binario
y_true
, se supone que la función de puntuación acepta uny_pred
1D (es decir, la probabilidad de la clase positiva o la función de decisión, forma(n_samples,)
).Por ejemplo,
average_precision
o el área bajo la curva roc no pueden calcularse sólo con predicciones discretas.- **kwargsargumentos adicionales
Parámetros adicionales que se pasan a score_func.
- Devuelve
- scorercallable o invocable
Objeto invocable que devuelve una puntuación escalar; cuanto mayor sea, mejor.
Notas
Si
needs_proba=False
yneeds_threshold=False
, se supone que la función de puntuación acepta la salida de predict. Sineeds_proba=True
, se supone que la función de puntuación acepta la salida de predict_proba (Para el binarioy_true
, la función de puntuación se supone que acepta la probabilidad de la clase positiva). Sineeds_threshold=True
, se supone que la función de puntuación acepta la salida de decision_function.Ejemplos
>>> from sklearn.metrics import fbeta_score, make_scorer >>> ftwo_scorer = make_scorer(fbeta_score, beta=2) >>> ftwo_scorer make_scorer(fbeta_score, beta=2) >>> from sklearn.model_selection import GridSearchCV >>> from sklearn.svm import LinearSVC >>> grid = GridSearchCV(LinearSVC(), param_grid={'C': [1, 10]}, ... scoring=ftwo_scorer)