J'ai une tâche de classification où j'ai un certain nombre de prédicteurs (dont l'un est le plus informatif), et j'utilise le modèle MARS pour construire mon classificateur (je suis intéressé par n'importe quel modèle simple, et utiliser glms à des fins d'illustration serait bien aussi). Maintenant, j'ai un énorme déséquilibre de classe dans les données de formation (environ 2700 échantillons négatifs pour chaque échantillon positif). Semblable aux tâches de récupération d'informations, je suis plus préoccupé par la prévision des échantillons de test positifs de premier rang. Pour cette raison, les performances sur les courbes de rappel de précision sont importantes pour moi.
Tout d'abord, j'ai simplement formé le modèle sur mes données de formation en maintenant le déséquilibre de classe tel qu'il est. Je visualise mon modèle formé en rouge et l'entrée la plus importante en bleu.
Formation sur les données déséquilibrées, évaluation sur les données déséquilibrées :
Pensant que le déséquilibre de classe déstabilise le modèle, étant donné que l'apprentissage des échantillons positifs de premier rang est une infime partie de l'ensemble de données, j'ai suréchantillonné les points d'entraînement positifs pour obtenir un ensemble de données d'entraînement équilibré. Lorsque je trace la performance sur l' ensemble d'entraînement équilibré , j'obtiens de bonnes performances. Dans les courbes PR et ROC, mon modèle entraîné fait mieux que les entrées.
Formation sur les données équilibrées (suréchantillonnées), évaluation également sur les données équilibrées (suréchantillonnées):
Cependant, si j'utilise ce modèle entraîné sur les données équilibrées, pour prédire sur l'ensemble d'entraînement original et déséquilibré, j'obtiens toujours de mauvaises performances sur la courbe PR.
Formation sur les données équilibrées (suréchantillonnées), évaluation sur les données originales non équilibrées:
Mes questions sont donc:
- Est-ce la raison pour laquelle la visualisation de la courbe PR montre une performance inférieure de mon modèle entraîné (rouge), tandis que la courbe ROC montre des améliorations en raison du déséquilibre de classe?
- Les approches de rééchantillonnage / suréchantillonnage / sous-échantillonnage peuvent-elles résoudre ce problème pour forcer la formation à se concentrer sur la région de haute précision / faible rappel?
- Existe-t-il un autre moyen de concentrer la formation sur la région de haute précision / faible rappel?
la source
Réponses:
PS Problème soigné; J'adorerais savoir comment ça se passe.
la source
Une étude récente " Un aperçu de la classification avec des données déséquilibrées: résultats empiriques et tendances actuelles sur l'utilisation des caractéristiques intrinsèques des données " compare trois méthodes de classification améliorée sur les données déséquilibrées:
la source
Je voulais attirer l'attention sur le fait que les 2 dernières expériences utilisent en fait le modèle SAME sur le jeu de données ALMOST THE SAME. La différence de performances n'est pas une différence de modèle, elle s'explique par différentes distributions de l'ensemble de données de validation et les propriétés de METRICS particuliers utilisés - précision et rappel, qui dépendent fortement de cette distribution. Pour développer ce point un peu plus, si vous avez pris X entrées distinctes de votre ensemble de données de validation initial et répliqué la classe minoritaire pour l'ensemble de données mis à l'échelle, votre modèle fera les mêmes prédictions pour ces entrées X, correctes ou incorrectes, à la fois à l'échelle et non équilibrées ensembles de données de validation. La seule différence est que pour chaque faux positif, il y aura moins de vrais positifs dans l'ensemble de données initial (donc une précision plus faible) et plus de vrais positifs dans l'ensemble de données équilibré (simplement parce qu'il y a plus d'exemples positifs dans l'ensemble de données en général) . C'est pourquoi Precision et Recall seraient sensibles à l'inclinaison. D'un autre côté, comme vos expériences l'illustrent également, le ROC ne change pas. Cela peut être observé en examinant également sa définition. C'est pourquoi ROC ne serait pas sensible à l'inclinaison.
Je n'ai pas encore de bonnes réponses pour les points 2 et 3 car je les recherche moi-même :)
la source
En supposant que les échantillons positifs suréchantillonnés ont la "même distribution" que dans "l'ensemble d'origine". À mesure que le nombre d'échantillons positifs augmente, peu de changements se produisent
1) le nombre de TruePositives (TP) augmente pour "tous les seuils" et, par conséquent, les ratios TP / (TP + FP) et TP / (TP + FN) augmentent pour tous les seuils. Alors que la zone sous PRC augmente.
2) la précision attendue, également appelée précision du modèle "muet", passe de ~ 1/2700 (dans l'ensemble d'origine) à ~ 1/2 (en cas d'équilibre "idéal"). En supposant que votre modèle fonctionne mieux que le modèle "muet", l'aire sous la courbe sera supérieure à 0,00037 dans "l'ensemble d'origine" et à plus de 0,5 dans l'ensemble idéalement équilibré.
3) tout en entraînant le modèle sur un ensemble de données mis à l'échelle, certains modèles peuvent «sur-ajuster» les échantillons positifs.
En ce qui concerne les courbes ROC, les courbes ROC sont connues pour montrer peu d'effet des variations de distribution de classe (la mise à l'échelle a un effet très mineur sur FPR, tandis que vous pouvez voir un certain effet sur TPR).
En ce qui concerne la mise au point dans une région de haute précision / faible rappel, vous pouvez optimiser par rapport à une fonction de coût où les faux positifs sont plus pénalisés que les faux négatifs.
la source