He entrenado dos modelos (clasificadores binarios usando h2o AutoML) y quiero seleccionar uno para usar. Tengo los siguientes resultados:
model_id auc logloss logloss_train logloss_valid gini_train gini_valid
DL_grid_1 0.542694 0.287469 0.092717 0.211956 0.872932 0.312975
DL_grid_2 0.543685 0.251431 0.082616 0.186196 0.900955 0.312662
Las columnas auc
y logloss
son las métricas de validación cruzada (la validación cruzada solo utiliza los datos de entrenamiento). las métricas ..._train
y ..._valid
se encuentran ejecutando las métricas de capacitación y validación a través de los modelos respectivamente. Quiero usar logloss_valid
o gini_valid
para elegir el mejor modelo.
El modelo 1 tiene un mejor gini (es decir, un mejor AUC), pero el modelo dos tiene un mejor logloss. Mi pregunta es cuál elegir cuál creo que plantea la pregunta, cuáles son las ventajas / desventajas de usar gini (AUC) o logloss como medida de decisión.
Respuestas:
Mientras que el AUC se calcula con respecto a la clasificación binaria con un umbral de decisión variable, logloss en realidad tiene en cuenta la "certeza" de la clasificación.
Por lo tanto, a mi entender, logloss conceptualmente va más allá del AUC y es especialmente relevante en casos con datos desequilibrados o en caso de un costo de error distribuido de manera desigual (por ejemplo, detección de una enfermedad mortal).
Además de esta respuesta muy básica, es posible que desee echar un vistazo a la optimización de auc vs logloss en problemas de clasificación binaria
Un ejemplo simple de cálculo de logloss y el concepto subyacente se discute en esta pregunta reciente La función de pérdida de registro en scikit-learn devuelve diferentes valores
Además, se ha hecho un muy buen punto en stackoverflow
fuente