Una pregunta un poco básica supongo pero nunca me quedó claro. Muchos tutoriales de Kaggle y cursos en línea hacen hincapié en la importancia de una estrategia adecuada de validación cruzada para evaluar el rendimiento del modelo y garantizar la generalización. Sin embargo, muy pocos de estos tutoriales proporcionan una explicación sobre cómo hacerlo, y la mayoría de las veces las explicaciones son bastante estándar.
Estoy intentando crear un clasificador de spam, pero estoy trabajando con un conjunto de datos pequeño. Mi conjunto de datos de entrenamiento tiene un tamaño de 2.600 filas y hay un gran desequilibrio de clases, 2.433 observaciones negativas y 216 observaciones positivas:
- Estoy tratando de encontrar una técnica de sobremuestreo adecuada utilizando todo el conjunto de datos para hacer validación cruzada con el iterador StratifiedKFold con 10 pliegues y shuffling.
- Después de averiguar qué técnica de sobremuestreo funciona, divido el conjunto de datos de entrenamiento en dos partes (80/20)
- Entrene un modelo Random Forest en el conjunto de datos de entrenamiento, realizando el ajuste de hiperparámetros necesario (GridSearchCV con StratifiedKFold) y utilizando el conjunto de datos de prueba para la selección del modelo.
- Cuando termino con el entrenamiento, utilizo una muestra aleatoria que he reservado como conjunto de validación y realizo la evaluación final del rendimiento en este conjunto de datos.
Mi pregunta es, ¿se considera que esta es una buena forma de hacer las cosas o hay una forma mejor e inteligente de hacerlo?