sklearn.model_selection.cross_val_predict

sklearn.model_selection.cross_val_predict()

Genera estimaciones de validación cruzada para cada punto de datos de entrada

Los datos se dividen según el parámetro cv. Cada muestra pertenece exactamente a un conjunto de pruebas, y su predicción se calcula con un estimador ajustado al conjunto de entrenamiento correspondiente.

Pasar estas predicciones a una métrica de evaluación puede no ser una forma válida de medir el rendimiento de la generalización. Los resultados pueden diferir de cross_validate y cross_val_score a menos que todos los conjuntos de pruebas tengan el mismo tamaño y la métrica se descomponga sobre las muestras.

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

Parámetros
estimatorobjeto estimator que implementa “fit” y “predict”

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) al menos 2d.

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).

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 la predicción se paralelizan sobre las divisiones de validación cruzada. None significa 1 a menos que 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_dispatchint o str, 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(entero), que da el número exacto de trabajos totales que se generan

  • Una str(cadena), que da una expresión como función de n_jobs, como en “2*n_jobs”

method{“predict”, “predict_proba”, “predict_log_proba”, “decision_function”}, default=”predict”

El método a ser invocado por estimator.

Devuelve
predictionsndarray

Este es el resultado de llamar a method. Forma(shape):

  • Cuando method es “predict” y en el caso especial cuando method es “decision_function” y el objetivo es binario: (n_samples,)

  • Cuando method es uno de {“predict_proba”, “predict_log_proba”, “decision_function”} (a menos que se trate de un caso especial): (n_samples, n_classes)

  • Si estimator es multioutput, se añade una dimensión extra “n_outputs” al final de cada forma(shape) anterior.

Ver también

cross_val_score

Calcula la puntuación de cada división del CV.

cross_validate

Calcula una o más puntuaciones y tiempos para cada división de CV.

Notas

En el caso de que una o más clases estén ausentes en una porción de entrenamiento, es necesario asignar una puntuación predeterminada a todas las instancias para esa clase si method produce columnas por clase, como en {“decision_function”, “predict_proba”, “predict_log_proba”}. Para predict_proba este valor es 0. Para asegurar una salida finita, aproximamos el infinito negativo por el mínimo valor de punto flotante finito para el dtype en otros casos.

Ejemplos

>>> from sklearn import datasets, linear_model
>>> from sklearn.model_selection import cross_val_predict
>>> diabetes = datasets.load_diabetes()
>>> X = diabetes.data[:150]
>>> y = diabetes.target[:150]
>>> lasso = linear_model.Lasso()
>>> y_pred = cross_val_predict(lasso, X, y, cv=3)

Ejemplos utilizando sklearn.model_selection.cross_val_predict