<aside> 📢 A la hora de analizar datos partimos nuestro set en un conjunto de train o entrenamiento con el cual entrenaremos los modelos, y otro conjunto de test o prueba que serán utilizados para probar los modelos sobre datos que no vieron.
</aside>
Overfitting (sobre-entrenamiento):
Se refiere a cuando el modelo se aprendió tan bien los datos de train que después es muy malo con nuevas observaciones. Se da por Oversampling, es decir, cuando tiene muchas muestras de una clase minoritaria.

Underfitting (sub-entrenamiento):
Se le dieron muy pocas muestras al modelo por lo que no pudo aprender. Se da por Undersampling, es decir, cuando tiene muchas muestras de una clase mayoritaria más general pero pocas de clases minoritarias.

Balanced (balanceado):
Deberemos encontrar un punto medio en el aprendizaje de nuestro modelo en el que no estemos incurriendo en underfitting y tampoco en overfitting. Buscamos tener la misma cantidad de datos para cada clase.

Porcentajes
Por ejemplo 70-30 → 70% train y 30% test. Siempre la mayor parte se usa para entrenar.
x_train, x_test, y_train, y_test = train_test_split(ds_trabajo_x, ds_trabajo_y, test_size=0.3, random_state=2)
Cross Validation (validación cruzada)
El conjunto de entrenamiento se divide en $k$ conjuntos más pequeños. Para cada uno de los $k$ “folds” se sigue el siguiente procedimiento:

Los azules son de validación para cada conjunto, los verdes de entrenamiento para el conjunto y el amarillo el de test final.
Por ejemplo:

Hago 5 entrenamientos del modelo pero tomando en diferentes partes de mi set de entrenamiento inicial, los datos para validar. Ej: si tengo 100 datos, tomo 70 para entrenar y los parto en 5 folds. Primero pruebo tomar un 20% para validar de los últimos datos, después de los ante últimos y asi…
Finalmente me quedo con el que mejores métricas me dio o bien con un promedio.