Commençons par définir ce que l’on entend par Classification, la classification est le processus consistant à essayer d’attribuer quelque chose à l’un des groupes disponibles. Vous pouvez avoir 2 groupes (Classification binaire) ou plus de 2 groupes (Classification Multi-classes).
Les algorithmes de classification comprennent: (Régression Logistique, K-Voisin le plus proche, Machine Vectorielle de Support et Bayes Naïvesetc etc)
Pour un scientifique des données, il est vraiment important de s’assurer de la qualité de votre modèle de classification. Il existe des moyens célèbres d’évaluer votre modèle. Ils peuvent être listés comme suit:
- Matrice de confusion — Elle peut être calculée facilement à l’aide de l’implémentation de la bibliothèque Scikit-Learn. Il vous suffit de lui alimenter un vecteur qui contient les prédictions de votre variable dépendante y^ et un vecteur des valeurs réelles de votre variable dépendante y
Maintenant, après avoir calculé votre matrice de confusion qui sera une matrice 2 * 2 pour tout problème de classification binaire, la matrice résultante serait comme ceci
En analysant la matrice de confusion, nous pouvons dire que nous avons un assez bon classificateur avec un taux de précision = 9,800 / 10,000 = 98%
Mais Le data scientist a une idée assez étrange qu’il veut essayer; L’idée est d’empêcher le classificateur de classer l’une des transactions comme fraude (classe positive ‘1’) puis, il a calculé la nouvelle matrice de confusion et c’était comme suit :
Le taux de précision du classificateur = 9,850 / 10,000 = 98,5%, ce qui signifie qu’il y a une augmentation de 0,5% du taux de précision bien que le classificateur ne fonctionne pas correctement!
Et c’est ce qu’on appelle un piège de précision, nous disons donc définitivement que le taux de précision de mesure n’est pas suffisant pour répondre à la question « Quelle est la qualité de votre classificateur?!’
La solution consiste à essayer une autre méthode de mesure qui est
2. Courbe de profil de précision cumulative (CAP) — C’est une méthode plus robuste pour aider notre modèle de machine. Pour comprendre l’intuition derrière cela, Vous devez me suivre dans les scénarios suivants:
Scénario #1 – Imaginez que vous, en tant que data scientist, travaillez dans une entreprise qui souhaite promouvoir son nouveau produit afin qu’elle envoie un e-mail avec son offre à tous les clients et généralement à 10% des réponses des clients et qu’elle achète réellement le produit pour que ce soit le cas pour cette fois et ce scénario s’appelle le scénario aléatoire.
Scénario #2 — Vous travaillez toujours dans la même entreprise mais cette fois, vous avez décidé de le faire de manière plus systématique:
- Inspectez vos données historiques et prenez un groupe de clients qui ont réellement acheté l’offre et essayez d’extraire ces informations
- Mesurez ces facteurs et essayez de découvrir lequel d’entre eux affecte le nombre de produits Achetés ou, en d’autres termes, ajustez les données à un modèle de régression logistique.
- Faites une prédiction des clients les plus susceptibles d’acheter le produit.
- Ciblez ensuite spécialement les personnes que vous avez prédites plus susceptibles d’acheter le produit.
- Ensuite en mesurant la réponse des groupes ciblés représentés dans cette courbe ‘Courbe de CAP’.
Nous pouvons certainement remarquer l’amélioration; lorsque vous avez contacté 20 000 clients ciblés, vous avez obtenu environ 5 000 réponses positives alors que dans le scénario #1, en contactant le même nombre de clients, vous n’avez obtenu que 2 000 réponses positives.
Donc, l’idée ici est de comparer votre modèle au scénario aléatoire et vous pouvez le faire passer au niveau suivant en construisant un autre modèle peut-être un modèle SVM (Support Vector Machine) / Kernel SVM pour le comparer avec votre modèle de régression logistique actuel.
Mais, Comment analyser le graphique résultant?
Plus votre modèle est bon, plus la zone entre sa courbe de PLAFOND et la ligne droite du scénario aléatoire sera grande.
Hypothétiquement, nous pouvons dessiner le soi-disant Modèle Parfait qui représente un modèle qui est un peu impossible à construire à moins d’avoir une sorte de Boule de cristal. Cela montre que lors de l’envoi de l’offre à 10 000 clients possibles, vous avez obtenu une réponse positive parfaite où toutes les personnes contactées ont acheté le produit.
Tracer un tel modèle hypothétique nous aidera comme référence à évaluer les courbes de PLAFOND de vos modèles.
Il existe 2 approches pour analyser le graphique précédent:
D’abord —
- Calculer l’aire sous la Courbe du Modèle Parfait (aP)
- Calculer l’aire sous la Courbe du Modèle Parfait (aR)
- Calculer le taux de précision (AR) = aR /aP; as(AR) ~ 1 (Le meilleur est votre modèle) et as(AR) ~ 0 (Le pire est votre modèle)
Deuxièmement —
- Tracez une ligne à partir du point de 50% ( 50 000) dans l’axe total contacté jusqu’à la courbe de PLAFOND du modèle
- Puis à partir de ce point d’intersection, Projetez-le sur l’axe acheté
- Cette valeur X% représente la qualité de votre modèle:
- Si X < 60%/(6000) alors vous avez un modèle d’ordures
- Si 60% < X < 70%/(7000) alors vous avez un modèle médiocre
- Si 70% < X < 80%/(8000) alors vous avez un bon modèle
- Si 80% < X <90%/(9000)alors vous avez un très bon modèle
- Si 90% < X < 100%/(10 000) alors votre modèle est trop beau pour être vrai! ce que je veux dire, c’est que cela se produit généralement en raison d’un surajustement, ce qui n’est certainement pas une bonne chose car votre modèle ne classera que les données sur lesquelles il est formé, mais très pauvre avec de nouvelles instances invisibles.