Le «bon» classificateur a détruit ma courbe de précision-rappel. Qu'est-il arrivé?

11

Je travaille avec des données déséquilibrées, où il y a environ 40 cas class = 0 pour chaque classe = 1. Je peux raisonnablement faire la distinction entre les classes en utilisant des fonctionnalités individuelles, et la formation d'un classificateur naïf Bayes et SVM sur 6 fonctionnalités et des données équilibrées a donné une meilleure discrimination (courbes ROC ci-dessous).

entrez la description de l'image ici

C'est bien, et je pensais que j'allais bien. Cependant, la convention pour ce problème particulier est de prévoir les coups à un niveau de précision, généralement entre 50% et 90%. par exemple "Nous avons détecté un certain nombre de hits avec une précision de 90%." Lorsque j'ai essayé cela, la précision maximale que je pouvais obtenir des classificateurs était d'environ 25% (ligne noire, courbe PR ci-dessous).

Je pourrais comprendre cela comme un problème de déséquilibre de classe, car les courbes PR sont sensibles au déséquilibre et les courbes ROC ne le sont pas. Cependant, le déséquilibre ne semble pas affecter les fonctionnalités individuelles: je peux obtenir une précision assez élevée en utilisant les fonctionnalités individuelles (bleu et cyan).

entrez la description de l'image ici

Je ne comprends pas ce qui se passe. Je pourrais le comprendre si tout fonctionnait mal dans l'espace PR, car, après tout, les données sont très déséquilibrées. Je pourrais également comprendre si les classificateurs semblaient mauvais dans l' espace ROC et PR - peut-être que ce sont juste de mauvais classificateurs. Mais que se passe-t-il pour rendre les classificateurs meilleurs selon le ROC, mais pires selon le Precision-Recall ?

Edit : J'ai remarqué que dans les zones à faible TPR / Rappel (TPR entre 0 et 0,35), les caractéristiques individuelles surpassent constamment les classificateurs dans les courbes ROC et PR. Peut-être que ma confusion est due au fait que la courbe ROC "met l'accent" sur les zones à TPR élevé (où les classificateurs fonctionnent bien) et la courbe PR met l'accent sur le TPR bas (où les classificateurs sont pires).

Edit 2 : La formation sur les données non équilibrées, c'est-à-dire avec le même déséquilibre que les données brutes, a redonné vie à la courbe PR (voir ci-dessous). Je suppose que mon problème était de mal former les classificateurs, mais je ne comprends pas totalement ce qui s'est passé. entrez la description de l'image ici

R Greg Stacey
la source

Réponses:

7

J'ai trouvé qu'il n'y a pas un avantage incroyable à utiliser le sous-échantillonnage / suréchantillonnage lorsque les classes sont modérément déséquilibrées (c'est-à-dire pas pire que 100: 1) en conjonction avec une métrique invariante de seuil (comme AUC). L'échantillonnage a le plus grand impact pour des mesures telles que le score F1 et la précision, car l'échantillonnage déplace artificiellement le seuil pour se rapprocher de ce qui pourrait être considéré comme l'emplacement «optimal» sur une courbe ROC. Vous pouvez voir un exemple de cela dans la documentation du curseur .

Je ne serais pas d'accord avec @Chris en ce sens qu'avoir une bonne AUC vaut mieux que la précision, car elle est totalement liée au contexte du problème. De plus, avoir une bonne AUC ne se traduit pas nécessairement par une bonne courbe Précision-Rappel lorsque les classes sont déséquilibrées. Si un modèle montre une bonne ASC, mais a toujours une mauvaise récupération précoce, la courbe de précision-rappel laissera beaucoup à désirer. Vous pouvez voir un excellent exemple de ce qui se passe dans cette réponse à une question similaire. Pour cette raison, Saito et al. recommande d'utiliser l'aire sous la courbe Précision-Rappel plutôt que l'ASC lorsque vous avez des classes déséquilibrées.

dmartin
la source
Je n'avais pas l'intention de laisser entendre qu'une bonne AUC est toujours meilleure qu'une bonne courbe PR.
Chris
1
Notez également que vous pouvez toujours inverser les étiquettes positives et négatives avant d'ajuster le modèle et de maximiser l'ASC-PR. L'exemple populaire de récupération de documents montre le fait que les gens aiment généralement l'AUC-PR car il peut être utilisé pour minimiser les faux accès; ils sont clairement plus gênés par les documents non liés qu'ils sont obligés de regarder que par les documents pertinents qui leur manquent. J'étudie les guerres ... donc, pour le dire à la légère, je suis beaucoup plus gêné par les coups manqués que par les fausses alarmes. Mais cela signifie que j'utilise l'AUC-PR avec la paix comme positif. Je n'utiliserais ROC que si je n'avais aucune préférence concernant le type d'erreur.
DHW
1

La meilleure façon d'évaluer un modèle est de voir comment il sera utilisé dans le monde réel et de développer une fonction de coût.

En passant, par exemple, on met trop l'accent sur r au carré, mais beaucoup pensent que c'est une statistique inutile. Alors ne vous laissez pas accrocher à une statistique.

Je soupçonne que votre réponse est un exemple du paradoxe de l'exactitude.

https://en.m.wikipedia.org/wiki/Accuracy_paradox

Le rappel (également connu sous le nom de sensibilité, ou taux positif réel) est la fraction des instances pertinentes qui sont récupérées.

tpr = tp / (tp + fn)

La précision (ou valeur prédictive positive) est la fraction des instances récupérées qui sont pertinentes.

ppv = tp / (tp + fp)

Disons que vous avez un ensemble très déséquilibré de 99 positifs et un négatif.

Disons qu'un modèle est formé dans lequel le modèle dit que tout est positif.

tp = 99 fp = 1 ppv devient 0,99

Clairement un modèle indésirable malgré la "bonne" valeur prédictive positive.

Je recommande de créer un ensemble d'entraînement plus équilibré par le biais d'un suréchantillonnage ou d'un sous-échantillonnage. Une fois le modèle construit, utilisez un ensemble de validation qui conserve le déséquilibre d'origine et créez un graphique de performances à ce sujet.

Chris
la source
Merci beaucoup. Je ne l'ai pas mentionné, mais je m'entraîne sur des données équilibrées (fait avec rééchantillonnage) et j'évalue sur les données déséquilibrées. Re: paradoxe de l'exactitude, voulez-vous dire que le classificateur pourrait simplement choisir la classe dominante? Cela ne conduirait-il pas à une courbe ROC d'aspect aléatoire? Le "bon" classifieur dans votre exemple a une bonne précision et un mauvais ROC; le "bon" classificateur dans mon cas a le contraire, une mauvaise précision mais un bon ROC.
R Greg Stacey
L'omission de données précieuses n'est pas la bonne solution. Il s'agit d'une façon inutile de traiter un problème qui provient de l'utilisation de règles de notation de précision incorrectes. En outre, la stratégie proposée exposée dans la question initiale est en contradiction avec une prise de décision optimale.
Frank Harrell
Où déclare-t-il qu'il omet des données précieuses?
Chris
@Frank Merci pour le commentaire. Qu'entendez-vous par «utilisation de règles de notation de précision incorrectes»? De plus, quelle "stratégie proposée est en contradiction avec une prise de décision optimale"? Voulez-vous dire définir des hits à un niveau de précision donné, ou autre chose?
R Greg Stacey
1
Il ne suffit pas d'évaluer un modèle dans l'analyse de rentabilisation. L'analyse de rentabilisation doit être résolue de manière optimale en construisant un modèle optimal et en appliquant une fonction d'utilité en plus de cela pour prendre des décisions, et non en construisant des seuils dans l'analyse. Des scores de précision discontinus et d'autres scores de précision incorrects permettent de prétendre qu'un faux modèle (faux) est supérieur, et conduit à sélectionner les mauvaises caractéristiques et autres préjudices lorsque le score de précision incorrect est utilisé pour construire le modèle. Le fait que @Qroid ait rejeté les données est une excellente preuve que l'évaluation de la précision est erronée.
Frank Harrell
1

Je pourrais comprendre cela comme un problème de déséquilibre de classe, car les courbes PR sont sensibles au déséquilibre et les courbes ROC ne le sont pas. Cependant, le déséquilibre ne semble pas affecter les fonctionnalités individuelles: je peux obtenir une précision assez élevée en utilisant les fonctionnalités individuelles (bleu et cyan).

Puis-je simplement souligner que c'est en fait l'inverse: ROC est sensible au déséquilibre de classe tandis que PR est plus robuste lorsqu'il s'agit de distributions de classe asymétriques. Voir https://www.biostat.wisc.edu/~page/rocpr.pdf .

Ils montrent également que "les algorithmes qui optimisent la zone sous la courbe ROC ne garantissent pas d'optimiser la zone sous la courbe PR".

Milad Shahidi
la source