Je suis un débutant en apprentissage automatique et je suis confronté à une situation. Je travaille sur un problème d'enchères en temps réel, avec l'ensemble de données IPinYou et j'essaie de faire une prédiction de clic.
Le fait est que, comme vous le savez peut-être, l'ensemble de données est très déséquilibré: environ 1300 exemples négatifs (sans clic) pour 1 exemple positif (clic).
C'est ce que je fais:
- Charger les données
- Divisez l'ensemble de données en 3 ensembles de données: A = formation (60%) B = validation (20%) C = test (20%)
- Pour chaque ensemble de données (A, B, C), faites un sous-échantillonnage sur chaque classe négative afin d'avoir un ratio de 5 (5 exemples négatifs pour 1 exemple positif). Cela me donne 3 nouveaux jeux de données qui sont plus équilibrés: A 'B' C '
Ensuite, je forme mon modèle avec l'ensemble de données A 'et la régression logistique.
Ma question est:
Quel ensemble de données dois-je utiliser pour la validation? B ou B '?
Quel ensemble de données dois-je utiliser pour les tests? C ou C '
Quelles mesures sont les plus pertinentes pour évaluer mon modèle? F1Score semble être une métrique bien utilisée. Mais ici, en raison de la classe déséquilibrée (si j'utilise les ensembles de données B et C), la précision est faible (inférieure à 0,20) et le F1Score est très influencé par un faible rappel / précision. Serait-il plus précis d'utiliser aucPR ou aucROC?
Si je veux tracer la courbe d'apprentissage, quelles mesures dois-je utiliser? (sachant que l'erreur% n'est pas pertinente si j'utilise l'ensemble de données B pour valider)
Merci d'avance pour votre temps !
Cordialement.
la source
Pour
1)
et2)
, vous voulezDonc, pour ces jeux de données, vous ne devriez pas avoir besoin d'équilibrer les classes.
Vous pouvez également essayer d'utiliser des pondérations de classe au lieu de sous / suréchantillonnage, car cela prend en charge cette décision pour vous.
Car
3)
vous voudrez probablement optimiser en utilisant n'importe quelle métrique sur laquelle vous serez noté (si c'est une compétition). Mais si ce n'est pas une considération, tous ces modèles sont de bons choix. F1 peut être influencé par la faible précision, mais vous voulez que cela soit capturé. C'est précisément lorsque des modèles naïfs (comme deviner la classe majoritaire) peuvent bien marquer par certaines mesures que des scores comme F1 sont pertinents.Quant à
4)
il n'y a rien de mal à afficher la métrique sur laquelle vous finissez par optimiser.la source
Vous devez tester votre classificateur sur un ensemble de données qui représente la raison pour laquelle il sera utilisé. Le mieux est généralement une distribution non modifiée.
Pendant l'apprentissage, modifiez le jeu de données de toute façon qui vous aide.
Pour plus de détails, voir Dois-je choisir un ensemble de données «équilibré» ou un ensemble de données «représentatif»?
la source