sklearn.model_selection.cross_val_score

sklearn.model_selection.cross_val_score()

Evalúa una puntuación por validación cruzada

Más información en el Manual de usuario.

Parámetros
estimatorobjeto estimator que implementa “fit”

El objeto a utilizar para ajustar los datos.

Xarray-like de forma (n_samples, n_features)

Los datos a ajustar. Puede ser, por ejemplo, una lista(list) o un arreglo(array).

yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None

La variable objetivo que se intenta predecir en el caso del aprendizaje supervisado.

groupsarray-like de forma (n_samples,) default=None

Etiquetas de grupo para las muestras utilizadas al dividir el conjunto de datos en conjunto de entrenamiento/prueba. Sólo se utiliza junto con una instancia de cv «Group» (por ejemplo, GroupKFold).

scoringstr o invocable, default=None

Un str (ver la documentación sobre la evaluación del modelo) o un objeto / función puntuador invocable con la firma scorer(estimator, X, y) que debe devolver un solo valor.

Similar a cross_validate pero sólo se permite una única métrica.

Si es None, se utiliza el puntuador(scorer) predeterminado del estimador (si está disponible).

cventero, generador de validación cruzada o un iterable, default=None

Determina la estrategia de división de la validación cruzada. Las posibles entradas para cv son:

  • None, para utilizar la validación cruzada de 5 pliegues por defecto,

  • int, para especificar el número de pliegues en un (Stratified)KFold,

  • separador de CV,

  • Un iterable que produce divisiones (train, test) como arreglos de índices.

Para entradas int/None, si el estimador es un clasificador y y es binario o multiclase, se utiliza StratifiedKFold. En todos los demás casos, se utiliza KFold.

Consulta el Manual de usuario para las diversas estrategias de validación cruzada que pueden ser utilizadas aquí.

Distinto en la versión 0.22: El valor predeterminado de cv si None cambió de 3-pliegues a 5-pliegues.

n_jobsint, default=None

Número de trabajos a ejecutar en paralelo. El entrenamiento del estimador y el cálculo de la puntuación se paralelizan sobre las divisiones de validación cruzada. None significa 1 a menos que esté en un contexto joblib.parallel_backend. -1 significa que se utilizan todos los procesadores. Ver Glosario para más detalles.

verboseint, default=0

El nivel de verbosidad.

fit_paramsdict, default=None

Parámetros para pasar al método fit del estimador.

pre_dispatchentero o cadena, default=”2*n_jobs”

Controla el número de trabajos que se envían durante la ejecución en paralelo. Reducir este número puede ser útil para evitar una explosión de consumo de memoria cuando se envían más trabajos de los que las CPUs pueden procesar. Este parámetro puede ser:

  • None, en cuyo caso todos los trabajos se crean y generan inmediatamente. Utilícelo para trabajos ligeros y de ejecución rápida, para evitar retrasos debidos a la generación de trabajos bajo demanda

  • Un int, que da el número exacto de trabajos totales que se generan

  • Un str, que da una expresión como función de n_jobs, como en “2*n_jobs”

error_score“raise” o numérico, default=np.nan

Valor a asignar a la puntuación si se produce un error en el ajuste del estimador. Si se establece como “raise”, el error se eleva. Si se da un valor numérico, se eleva FitFailedWarning.

Nuevo en la versión 0.20.

Devuelve
scoresndarray de float de forma=(len(list(cv)),)

Arreglo de puntuaciones del estimador para cada ejecución de la validación cruzada.

Ver también

cross_validate

Para ejecutar la validación cruzada en múltiples métricas y también para devolver las puntuaciones del entrenamiento, los tiempos de ajuste y los tiempos de puntuación.

cross_val_predict

Obtiene las predicciones de cada división de la validación cruzada con fines de diagnóstico.

sklearn.metrics.make_scorer

Hace un puntuador (scorer) a partir de una métrica de rendimiento o una función de pérdida.

Ejemplos

>>> from sklearn import datasets, linear_model
>>> from sklearn.model_selection import cross_val_score
>>> diabetes = datasets.load_diabetes()
>>> X = diabetes.data[:150]
>>> y = diabetes.target[:150]
>>> lasso = linear_model.Lasso()
>>> print(cross_val_score(lasso, X, y, cv=3))
[0.33150734 0.08022311 0.03531764]

Ejemplos utilizando sklearn.model_selection.cross_val_score