sklearn.model_selection.learning_curve

sklearn.model_selection.learning_curve()

Curva de aprendizaje.

Determina las puntuaciones de entrenamiento y de prueba con validación cruzada para diferentes tamaños de conjuntos de entrenamiento.

Un generador de validación cruzada separa el conjunto de datos k veces en datos de entrenamiento y de prueba. Se utilizarán subconjuntos del conjunto de entrenamiento con tamaños variables para entrenar el estimador y se calculará una puntuación para cada tamaño de subconjunto de entrenamiento y el conjunto de prueba. Después, las puntuaciones se promediarán en todas las k ejecuciones para cada tamaño de subconjunto de entrenamiento.

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

Parámetros
estimatortipo de objeto que implementa los métodos «fit» y «predict»

Un objeto de ese tipo que se clona para cada validación.

Xarray-like de forma (n_samples, n_features)

Vector de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características.

yarray-like de forma (n_samples,) o (n_samples, n_outputs)

Objetivo relativo a X para la clasificación o la regresión; ninguno para el aprendizaje no 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).

train_sizesarray-like de forma (n_ticks,), default=np.linspace(0.1, 1.0, 5)

Número relativo o absoluto de ejemplos de entrenamiento que se utilizarán para generar la curva de aprendizaje. Si el dtype es de punto flotante (float), se considera una fracción del tamaño máximo del conjunto de entrenamiento (que viene determinado por el método de validación seleccionado), es decir, tiene que estar dentro de (0, 1]. En caso contrario, se interpreta como el tamaño absoluto de los conjuntos de entrenamiento. Tenga en cuenta que, para la clasificación, el número de muestras suele ser lo suficientemente grande como para contener al menos una muestra de cada clase.

cvint, generador de validación cruzada o un iterable, por defecto=None

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

  • None, para usar 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 (train, test) se separa 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 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 es cv si se cambia de 3 a 5 veces.

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

exploit_incremental_learningbool, default=False

Si el estimador admite el aprendizaje incremental, se utilizará para acelerar el ajuste para diferentes tamaños de conjuntos de entrenamiento.

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 ejecutan en paralelo sobre los diferentes conjuntos de entrenamiento y prueba. 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.

pre_dispatchint o str, default=”all”

Número de trabajos predespachados para la ejecución en paralelo (por defecto son todos). La opción puede reducir la memoria asignada. La cadena puede ser una expresión como “2*n_jobs”.

verboseint, default=0

Controla la verbosidad: cuanto más alta, más mensajes.

shufflebool, default=False

Si se mezclan los datos de entrenamiento antes de tomar prefijos de los mismos basados en train_sizes.

random_stateint, instancia RandomState o None, por defecto=None

Se utiliza cuando shuffle es True. Pase un int para que la salida sea reproducible a través de múltiples llamadas a la función. Ver Glosario.

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 levanta FitFailedWarning.

Nuevo en la versión 0.20.

return_timesbool, default=False

Si se devuelven los tiempos de ajuste y puntuación.

fit_paramsdict, default=None

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

Nuevo en la versión 0.24.

Devuelve
train_sizes_absarreglo de forma (n_unique_ticks,)

Número de ejemplos de entrenamiento que se ha utilizado para generar la curva de aprendizaje. Tener en cuenta que el número de ticks podría ser menor que n_ticks porque se eliminarán las entradas duplicadas.

train_scoresarreglo de forma (n_ticks, n_cv_folds)

Puntuaciones en los conjuntos de entrenamiento.

test_scoresarreglo de forma (n_ticks, n_cv_folds)

Puntuaciones en conjunto de pruebas.

fit_timesarreglo de forma (n_ticks, n_cv_folds)

Tiempo empleado en el ajuste en segundos. Sólo está presente si return_times es True.

score_timesarreglo de forma (n_ticks, n_cv_folds)

Tiempo empleado para la puntuación en segundos. Sólo está presente si return_times es True.

Notas

Ver examples/model_selection/plot_learning_curve.py

Ejemplos usando sklearn.model_selection.learning_curve