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
,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 utilizaStratifiedKFold
. En todos los demás casos, se utilizaKFold
.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 contextojoblib.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]