IA y Machine Learning · revisado en julio de 2026
Overfitting (sobreajuste)
El overfitting, o sobreajuste, ocurre cuando un modelo aprende los datos de entrenamiento tan al detalle — incluyendo su ruido y sus particularidades— que pierde capacidad de generalizar a datos nuevos que no ha visto. Se detecta cuando el modelo rinde muy bien en entrenamiento pero mucho peor en datos de prueba.
from sklearn.metrics import accuracy_score modelo.fit(X_train, y_train) print(accuracy_score(y_train, modelo.predict(X_train))) # 0.99 print(accuracy_score(y_test, modelo.predict(X_test))) # 0.68 <- sobreajuste
Preguntas frecuentes
¿Cómo se detecta el overfitting?
Comparando el desempeño del modelo en los datos de entrenamiento contra su desempeño en un conjunto de prueba separado que nunca vio durante el entrenamiento; una brecha grande entre ambos es la señal clásica.
¿Cómo se combate el overfitting?
Con más datos de entrenamiento, con técnicas de regularización que penalizan la complejidad del modelo, simplificando el modelo, o deteniendo el entrenamiento antes de que empiece a memorizar en lugar de aprender patrones generales.
¿Qué es el underfitting?
Es el problema opuesto: el modelo es demasiado simple para capturar el patrón real en los datos, y rinde mal tanto en entrenamiento como en datos nuevos.