J'ai formé deux modèles (classificateurs binaires utilisant h2o AutoML) et je veux en sélectionner un à utiliser. J'ai les résultats suivants:
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
les colonnes auc
et logloss
sont les métriques de validation croisée (la validation croisée utilise uniquement les données de formation). les métriques ..._train
et ..._valid
sont trouvées en exécutant les métriques de formation et de validation via les modèles respectivement. Je veux utiliser le logloss_valid
ou le gini_valid
pour choisir le meilleur modèle.
Le modèle 1 a un meilleur gini (c'est-à-dire une meilleure AUC) mais le modèle deux a une meilleure perte de journal. Ma question est de savoir laquelle choisir, ce qui, à mon avis, soulève la question, quels sont les avantages / inconvénients d'utiliser gini (AUC) ou logloss comme mesure de décision.
Réponses:
Alors que l'AUC est calculée en ce qui concerne la classification binaire avec un seuil de décision variable, la perte de journal prend en fait en compte la "certitude" de la classification.
Par conséquent, à ma connaissance, la perte de journal va conceptuellement au-delà de l'AUC et est particulièrement pertinente dans les cas avec des données déséquilibrées ou en cas de coût d'erreur inégalement réparti (par exemple, détection d'une maladie mortelle).
En plus de cette réponse très basique, vous voudrez peut-être voir comment optimiser auc vs logloss dans les problèmes de classification binaire
Un exemple simple de calcul de perte de journal et le concept sous-jacent est discuté dans cette question récente La fonction de perte de journal dans scikit-learn renvoie différentes valeurs
De plus, un très bon point a été fait dans stackoverflow
la source