Curvas de validación: trazar puntuaciones para evaluar modelos

Machine LearningMachine LearningBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En el aprendizaje automático, cada estimador tiene sus ventajas y desventajas. El error de generalización de un estimador se puede descomponer en sesgo, varianza y ruido. El sesgo de un estimador es el error promedio para diferentes conjuntos de entrenamiento, mientras que la varianza indica su sensibilidad a conjuntos de entrenamiento variables. El ruido es una propiedad de los datos.

En este laboratorio, exploraremos cómo usar curvas de validación para evaluar el rendimiento de los modelos de aprendizaje automático. Las curvas de validación nos permiten trazar la influencia de un solo hiperparámetro en la puntuación de entrenamiento y la puntuación de validación, lo que nos ayuda a determinar si el modelo está sobreajustándose o subajustándose para diferentes valores de hiperparámetros.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje comentarios después de la sesión y resolveremos rápidamente el problema para usted.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/linear_model("Linear Models") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/linear_model -.-> lab-71125{{"Curvas de validación: trazar puntuaciones para evaluar modelos"}} sklearn/model_selection -.-> lab-71125{{"Curvas de validación: trazar puntuaciones para evaluar modelos"}} sklearn/datasets -.-> lab-71125{{"Curvas de validación: trazar puntuaciones para evaluar modelos"}} ml/sklearn -.-> lab-71125{{"Curvas de validación: trazar puntuaciones para evaluar modelos"}} end

Importar las bibliotecas necesarias y cargar los datos

Comencemos importando las bibliotecas necesarias y cargando un conjunto de datos. En este ejemplo, usaremos el conjunto de datos Iris.

import numpy as np
from sklearn.model_selection import validation_curve
from sklearn.datasets import load_iris
from sklearn.linear_model import Ridge

np.random.seed(0)
X, y = load_iris(return_X_y=True)

Mezclar los datos

Para garantizar la aleatoriedad en nuestro análisis, vamos a mezclar el orden de las muestras en nuestro conjunto de datos.

indices = np.arange(y.shape[0])
np.random.shuffle(indices)
X, y = X[indices], y[indices]

Trazar la curva de validación

Ahora, vamos a trazar la curva de validación usando la función validation_curve. Usaremos el estimador Ridge y variaremos el hiperparámetro alpha en un rango de valores.

param_range = np.logspace(-7, 3, 3)
train_scores, valid_scores = validation_curve(
    Ridge(), X, y, param_name="alpha", param_range=param_range, cv=5)

Resumen

En este laboratorio, exploramos el concepto de curvas de validación y cómo se pueden utilizar para evaluar los modelos de aprendizaje automático. Al trazar la puntuación de entrenamiento y la puntuación de validación para diferentes valores de hiperparámetros, podemos determinar si un modelo está sobreajustándose o subajustándose. Esta información nos ayuda a seleccionar los mejores hiperparámetros para nuestros modelos y mejorar su rendimiento.