Validación cruzada en aprendizaje automático con Python

Beginner

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

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.