Puedes evaluar el rendimiento de un modelo, tu mejor aliada será la verificación cruzada o cross-validation. Ten en cuenta que, cuando entrenas modelos con datos, la idea es que estos puedan hacer predicciones precisas cada que se apliquen datos nuevos y no solo en los que fueron entrenados. Por eso, en este post te contaremos en qué consiste la verificación cruzada, cómo funciona y cuáles son los tipos que existen, así la puedes usar para mejorar tus resultados.
¿Qué es y cómo funciona la verificación cruzada?
La verificación cruzada es una técnica que se usa para verificar qué tan bien funciona un modelo de machine learning cuando se enfrenta a datos nuevos. La idea es que el modelo no se «sobreentrene» solo en los datos que ya conoce, sino que también pueda generalizar bien con información que no ha visto antes. Funciona así:
- En lugar de entrenar el modelo con todos los datos de una vez, divides los datos en partes llamadas folds.
- Entrenas el modelo con algunas de esas partes y validas su rendimiento con las otras.
- Repites este proceso varias veces para asegurarte de que cada porción de datos se use tanto para el entrenamiento como para la validación.
- Al hacer pruebas con diferentes porciones de datos, puedes medir cómo se desempeña el modelo con datos nuevos, dándote una mejor idea de qué tan bien funcionará en la vida real.
Te será muy útil si tienes pocos datos y es una buena manera de comparar diferentes modelos para determinar cuál se ajusta mejor al problema que quieres resolver.
Tipos de verificación cruzada
Hay diferentes tipos de verificación cruzada, cada uno con sus ventajas dependiendo del tamaño de tus datos y el objetivo de tu modelo:
Train-Test Split
Empezaremos con el Train-Test Split, un tipo de verificación cruzada en la que se divide el conjunto de datos en dos partes: una sirve para entrenar el modelo y la otra se usa para probarlo. Por lo general, el 70-80% de los datos se usan para el entrenamiento y el 20-30% restante es para la validación.
Ten en cuenta que, aunque es una técnica simple que se implementa fácil, pueden surgir sesgos si los datos no se distribuyen uniformemente entre las partes de entrenamiento y prueba, sucede más que todo cuando la cantidad de datos es limitada.
K-Folds Cross-Validation
En el método de K-Folds los datos se dividen en K partes o «folds». El modelo se entrena con K-1 folds y se valida con el fold restante. Este proceso se repite K veces, de manera que cada fold se utilice tanto para el entrenamiento como para la validación.
Con K-Folds se reduce el sesgo porque todas las observaciones tienen la oportunidad de estar tanto en el conjunto de entrenamiento como en el de prueba. Un valor común de K es 5 o 10, dependiendo del tamaño del conjunto de datos.
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
import numpy as np
# Datos de ejemplo
X, y = np.array([[1, 2], [3, 4], [1, 2], [3, 4]]), np.array([0, 1, 0, 1])
# Modelo de ejemplo
model = RandomForestClassifier()
# Verificación cruzada con K-Folds
scores = cross_val_score(model, X, y, cv=5)
print("Puntuaciones en los folds:", scores)
Stratified K-Folds
En los problemas de clasificación, el método Stratified K-Folds es una versión mejorada del K-Folds que mantiene las proporciones de las clases en cada fold.
- Por ejemplo, en tus datos de entrenamiento tienes un 70% de una clase y un 30% de otra, esa misma proporción se conservará en cada fold.
Así garantizas que la distribución de las clases sea más equilibrada y representativa en cada parte de los datos, lo que ayuda a obtener resultados más precisos.
Leave-One-Out Cross-Validation (LOOCV)
El Leave-One-Out es un caso extremo de K-Folds, donde K es igual al número de datos en el conjunto.
- Por ejemplo: El modelo se entrena con todos los datos menos una observación, y se valida en esa única observación.
Aunque este método ofrece una validación muy precisa, es computacionalmente costoso y no resulta muy práctico para grandes conjuntos de datos.
¿Por qué es importante la verificación cruzada?
Usando la verificación cruzada puedes evitar problemas como el sobreajuste y comparar diferentes modelos para encontrar el que mejor se adapte a tus datos, sin depender exclusivamente de los resultados que se obtuvieron en un único conjunto de pruebas.
Además, te servirá mucho cuando trabajes con conjuntos de datos pequeños, porque podrás usar la mayor cantidad de datos posible tanto para entrenar como para validar el modelo.
Con la verificación cruzada te aseguras de que tu modelo funcione correctamente en datos nuevos. Aplicar esta técnica te ayudará a mejorar la precisión y confiabilidad de tus predicciones. Si quieres aprender más sobre cómo aplicar la verificación cruzada y otras técnicas avanzadas en machine learning, el Bootcamp de Big Data, Data Science, Machine Learning e IA de KeepCoding es tu mejor opción. Con nosotros no solo aprenderás las herramientas necesarias, sino que también estarás preparado para aprovechar las grandes oportunidades del sector tecnológico, con altos salarios y estabilidad laboral. ¡Es hora de llevar tu carrera al siguiente nivel!