4 votos

Ajuste de hiperparámetros para datos desequilibrados

Mi pregunta se refiere al ajuste de hiperparámetros para algoritmos ML. Tiene más que ver con los aspectos teóricos que con la codificación propiamente dicha.
Supongamos que hay un conjunto de datos extremadamente desequilibrado, como en los casos de detección de fraudes, robos de electricidad, etc., con muy pocas clases positivas (fraudes) en comparación con las clases negativas (casos normales). Para este tipo de casos, tenemos que entrenar el modelo con datos remuestreados y probarlo con datos de prueba reales.
Sin embargo, para el ajuste de parámetros (sin utilizar GridSearchCV), ¿cómo probamos el rendimiento del modelo sin exponerlo a los datos de retención reales, ya que puede dar lugar a un ajuste excesivo puesto que le estamos mostrando los datos de prueba reales, y por lo tanto todo el propósito es derrotado.
He leído que podemos dividir los datos de entrenamiento en un conjunto de entrenamiento (para el entrenamiento del modelo)+eval (para el ajuste de parámetros) y luego seleccionar los parámetros basándonos en este conjunto de validación y finalmente construir el modelo en los conjuntos combinados de entrenamiento+eval.
Pero, ¿puede aplicarse este enfoque también a conjuntos de datos desequilibrados, ya que parece sospechoso en este caso, puesto que estaríamos ajustando nuestros parámetros basándonos en datos remuestreados? ¿O hay alguna otra solución?

5voto

rinspy Puntos 106

A menos que tenga razones para no hacerlo, probablemente debería utilizar la validación cruzada para el ajuste de hiperparámetros. El enfoque que describe (y, de hecho, prácticamente cualquier preprocesamiento que desee realizar en los datos) puede aplicarse dentro de la validación cruzada; el concepto importante que hay que entender es que debe aplicar sus transformaciones en los pliegues de validación cruzada (con pocas excepciones). Es decir, si quiere aumentar la muestra de casos positivos, hágalo en los datos de entrenamiento del conjunto de validación cruzada de forma aislada, como si no supiera nada de los datos que no están en el conjunto de entrenamiento de su actual pliegue de validación cruzada.

En otras palabras, trate los conjuntos de validación como trataría los conjuntos de prueba: déjelos como están y no les saque punta. Transforme los conjuntos de entrenamiento (en su caso, vuelva a muestrearlos) sin utilizar la información de los conjuntos de validación. A continuación, puede evaluar su modelo en los conjuntos de validación y obtener una estimación razonablemente insesgada de su rendimiento. Una vez ajustado el modelo, puede evaluarlo en el conjunto de pruebas, pero hágalo una sola vez; no ajuste el modelo basándose en los resultados del conjunto de pruebas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X