En general, si tenemos un gran conjunto de datos, podemos dividirlo en (1) capacitación, (2) validación y (3) prueba. Utilizamos la validación para identificar los mejores hiperparámetros en la validación cruzada (por ejemplo, C en SVM) y luego entrenamos el modelo usando los mejores hiperparámetros con el conjunto de entrenamiento y aplicamos el modelo entrenado a la prueba para obtener el rendimiento.
Si tenemos un pequeño conjunto de datos, no podemos crear un conjunto de entrenamiento y prueba (no hay suficientes muestras). Por lo tanto, haremos una validación cruzada (k-fold, leave-one-out, etc.) para evaluar el rendimiento del modelo.
He visto que la validación cruzada anidada (ya sea repetida o estratificada) se ha utilizado en la configuración de pequeños conjuntos de datos, es decir, para generar un rendimiento generalizado del modelo mientras se optimiza la selección de parámetros. Mi pregunta es, ¿cómo puedo obtener los mejores hiperparámetros en validación cruzada anidada (repetida / no repetida)? Estoy interesado en hacer esto en scikit-learn, si es posible. Estoy un poco confundido acerca de cómo hacerlo.
He leído varios recursos pero ninguno me dio la respuesta definitiva a esta pregunta: