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
ycross_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
,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 la predicción se paralelizan sobre las divisiones de validación cruzada.
None
significa 1 a menos que 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_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 cuandomethod
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”}. Parapredict_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)