Cross-validation bien hecha
Un solo split train/validación da una estimación ruidosa: tené mala suerte y sacás la conclusión equivocada. Cross-validation (CV) rota el rol de validación por los datos para una estimación más estable, y usa eficientemente datos escasos.
k-fold CV
Dividí los datos en k folds. Entrená en k−1, validá en el fold held-out, rotá para
que cada fold sea validado una vez y promediá. Obtenés k scores: su media estima
rendimiento y su dispersión estima qué tan confiable es ese número. k = 5 o 10
son estándar.
Elegí la variante que coincide con tus datos
| Variante | Usala cuando |
|---|---|
| Stratified k-fold | clasificación: preserva balance de clases en cada fold (esencial para datos desbalanceados) |
| Grouped k-fold | entidades repetidas (usuario, paciente): mantené un grupo entero en un solo fold para evitar group leakage |
| Time-series split | datos temporales: entrená siempre sobre el pasado, validá sobre el futuro; nunca shuffle |
| Leave-one-out | datasets muy chicos (caro, alta varianza) |
Nested CV: la parte que la gente saltea
Si tuneás hiperparámetros usando tu score de CV y después reportás ese mismo score, es optimista: ajustaste a los folds de validación. Nested CV usa un loop interno para tunear y uno externo para estimar honestamente. Como mínimo, mantené un test set final que nunca tocás durante tuning.
Trampa
Todo preprocesamiento debe pasar dentro del loop de CV (mediante un pipeline). Ajustá un scaler o hacé resampling antes de dividir y cada fold queda contaminado: la forma más común en que CV te miente.
Conecta con: splits y leakage · tuning · pipelines