Je fais face à un problème de détection de fraude (de type notation de crédit). En tant que tel, il existe une relation très déséquilibrée entre les observations frauduleuses et non frauduleuses.
http://blog.revolutionanalytics.com/2016/03/com_class_eval_metrics_r.html fournit un excellent aperçu des différentes métriques de classification. Precision and Recall
ou les kappa
deux semblent être un bon choix:
Une façon de justifier les résultats de ces classificateurs est de les comparer à ceux des classificateurs de base et de montrer qu'ils sont en effet meilleurs que les prédictions aléatoires.
Autant que je sache, kappa
pourrait être le meilleur choix ici, car le hasard est pris en compte. D'après le kappa de Cohen en anglais simple, je comprends qu'il kappa
s'agit du concept de gain d'information:
[...] une précision observée de 80% est beaucoup moins impressionnante avec une précision attendue de 75% contre une précision attendue de 50% [...]
Par conséquent, mes questions seraient les suivantes:
- Est-il correct de supposer
kappa
être une mesure de classification mieux adaptée à ce problème? - La simple utilisation
kappa
empêche-t-elle les effets négatifs du déséquilibre sur l'algorithme de classification? Un rééchantillonnage (bas / haut) ou un apprentissage basé sur les coûts (voir http://www.icmc.usp.br/~mcmonard/public/laptec2002.pdf ) sont-ils toujours requis?
la source
Réponses:
Oui, vos hypothèses sur Kappa semblent correctes. Kappa en tant que mesures scalaires uniques est principalement et avantage par rapport à d'autres mesures scalaires uniques telles que la précision, qui ne refléteront pas les performances de prédiction des classes plus petites (masquées par les performances d'une classe beaucoup plus grande). Kappa résout ce problème plus élégamment, comme vous l'avez souligné.
L'utilisation d'une métrique comme Kappa pour mesurer vos performances n'augmentera pas nécessairement la façon dont votre modèle s'adapte aux données. Vous pouvez mesurer les performances de n'importe quel modèle à l'aide d'un certain nombre de mesures, mais la façon dont le modèle correspond aux données est déterminée à l'aide d'autres paramètres (par exemple, des hyperparamètres). Vous pouvez donc utiliser par exemple Kappa pour sélectionner le type de modèle le mieux adapté et l'hyperparamétrisation parmi plusieurs choix pour votre problème très déséquilibré - mais le simple calcul de Kappa ne changera pas la façon dont votre modèle s'adapte à vos données déséquilibrées.
Pour différentes mesures: en plus de Kappa et de précision / rappel, jetez également un œil aux taux TPR / TNR véritablement positifs et négatifs réels, et aux courbes ROC et à la zone sous la courbe AUC. Lesquels de ceux qui sont utiles pour votre problème dépendront principalement des détails de votre objectif. Par exemple, les différentes informations reflétées dans le TPR / TNR et la précision / le rappel: votre objectif est-il d'avoir une part élevée de fraudes réellement détectées en tant que telles, et une part élevée de transactions légitimes détectées en tant que telles, et / ou de minimiser la part de fausses alarmes (que vous obtiendrez naturellement "en masse" avec de tels problèmes) dans toutes les alarmes?
Pour l'échantillonnage ascendant / descendant: je pense qu'il n'y a pas de réponse canonique à "si celles-ci sont requises". Ils sont plus une façon d'adapter votre problème. Techniquement: oui, vous pouvez les utiliser, mais utilisez-les avec précaution, en particulier le suréchantillonnage (vous pourriez finir par créer des échantillons irréalistes sans le remarquer) - et sachez que changer la fréquence des échantillons des deux classes en quelque chose de pas réaliste "dans la nature "pourrait également avoir des effets négatifs sur les performances de prédiction. Au moins, l'ensemble de test final et retenu devrait refléter à nouveau la fréquence réelle des échantillons. Conclusion: j'ai vu les deux cas où le fait de faire et de ne pas faire de sous-échantillonnage a abouti à de meilleurs résultats finaux, c'est donc quelque chose que vous devrez peut-être essayer (mais ne manipulez pas vos jeux de test!) .
la source
Outre l'ASC et le kappa de Kohonen déjà discuté dans les autres réponses, je voudrais également ajouter quelques mesures que j'ai trouvées utiles pour les données déséquilibrées. Ils sont tous deux liés à la précision et au rappel . Parce qu'en faisant la moyenne de ceux-ci, vous obtenez une métrique pesant les et les deux types d'erreurs ( et ):TP FP FN
Remarque: pour les jeux de données déséquilibrés, il est préférable de faire une moyenne macro de vos mesures .
la source
Pour les jeux de données déséquilibrés, la métrique de précision moyenne est parfois une meilleure alternative à l'AUROC. Le score AP est l'aire sous la courbe de rappel de précision.
Voici une discussion avec du code (Python)
Voici un papier .
Voir également les courbes Precision-Recall-Gain de Peter Flach , ainsi qu'une discussion sur le défaut des courbes AP.
la source