Introducción
En el aprendizaje automático, la validación cruzada es una técnica utilizada para evaluar el rendimiento de un modelo en un conjunto de datos independiente. Ayuda a prevenir el sobreajuste al proporcionar una mejor estimación de qué tan bien generalizará el modelo a nuevos datos no vistos.
En este laboratorio, exploraremos el concepto de validación cruzada y cómo implementarlo utilizando la biblioteca scikit-learn en Python.
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 sus comentarios después de la sesión y resolveremos el problema para usted de inmediato.
Importar las bibliotecas necesarias
Primero, importemos las bibliotecas necesarias para este laboratorio.
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn import datasets
from sklearn import svm
Cargar el conjunto de datos
A continuación, carguemos un conjunto de datos para entrenar nuestro modelo. En este ejemplo, usaremos el conjunto de datos Iris, que es un conjunto de datos popular para tareas de clasificación.
X, y = datasets.load_iris(return_X_y=True)
Dividir el conjunto de datos en conjuntos de entrenamiento y prueba
Para evaluar el rendimiento de nuestro modelo, necesitamos dividir el conjunto de datos en un conjunto de entrenamiento y un conjunto de prueba. Utilizaremos la función train_test_split de la biblioteca scikit-learn para hacer esto.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=0)
Entrenar y evaluar el modelo
Ahora, entrenemos un clasificador de máquinas de vectores de soporte (SVM) en el conjunto de entrenamiento y evaluemos su rendimiento en el conjunto de prueba.
clf = svm.SVC(kernel='linear', C=1).fit(X_train, y_train)
score = clf.score(X_test, y_test)
print("Accuracy: ", score)
Resumen
En este laboratorio, aprendimos cómo implementar la validación cruzada utilizando la biblioteca scikit-learn en Python. Dividimos el conjunto de datos en conjuntos de entrenamiento y prueba, entrenamos un modelo en el conjunto de entrenamiento y evaluamos su rendimiento en el conjunto de prueba. La validación cruzada ayuda a prevenir el sobreajuste y proporciona una mejor estimación de qué tan bien un modelo se generalizará a datos nuevos y no vistos.