What if you wanted to predict how many out of 100 employees will eat a donut at the office on Friday?What if you wanted to predict how many out of 100 employees will eat a donut at the office on Friday?What if you wanted to predict how many out of 100 employees will eat a donut at the office on Friday?What if you wanted to predict how many out of 100 employees will eat a donut at the office on Friday?Et si vous vouliez prédire combien d’employés sur 100 mangeront un beignet au bureau vendredi ? JMP est un outil de découverte statistique extrêmement puissant et capable de créer une variété de modèles statistiques. Toutefois, si vous souhaitez évaluer de manière exhaustive les seuils d’un modèle de classification binaire prédictive, cela nécessitera plusieurs plates-formes et plusieurs étapes. UN Sommet Découverte 2018 la conférence explorera les défis liés à l’évaluation et à la sélection de seuils pour les modèles de classification. J'ai rejoint l'équipe de @KarenC et @mia_stephens pour créer un complément pour faciliter la compréhension du modèle et la sélection des seuils.
Le Complément Explorateur de classification de modèles fournit un tableau de bord unifié pour visualiser simultanément les seuils du modèle et les compromis en matière d'erreurs. Vous pouvez modifier de manière interactive un seuil de modèle et voir immédiatement les résultats propagés dans les mesures de performances, les matrices de confusion et les courbes ROC. Le complément implémente également des options de triangle rouge personnalisées pour afficher les courbes d'ascenseur, les courbes de gains cumulés et pour calculer un seuil optimal en fonction des coûts de classification.
Passons en revue un exemple avec le tableau de données ci-joint. C'est le vendredi jour des beignets au bureau et vous voulez prédire combien d'employés sur 100 mangeront un beignet. Vous rassemblez des données indiquant si chaque personne a consommé un beignet ainsi qu'un certain nombre de prédicteurs et vous ajustez un modèle pour estimer les probabilités de consommation. Vous souhaitez maintenant explorer les compromis associés à chaque point limite du modèle. L’idée est de sélectionner une heure limite pour minimiser le gaspillage de beignets les prochains vendredis. Il y a trois colonnes :
- Prob[Donut] est la probabilité qu'un individu consomme un beignet.
- La consommation est le résultat réel du fait que quelqu'un ait mangé ou non le beignet.
- Nous avons une colonne de validation facultative
Input DataInput DataInput DataInput DataDes données d'entrée
Données
Après le téléchargement et l'installation du complément, ouvrez la table de données Donuts Blog Sample.jmp. Les données sont formatées de telle sorte qu'il existe une colonne numérique continue qui modélise la probabilité du résultat ciblé, dans ce cas notre colonne Prob[Donut]. Cette colonne peut être créée dans JMP en enregistrant un modèle ajusté pour un résultat binaire avec « Enregistrer la formule de probabilité ». L'autre colonne obligatoire est l'état de résultat réel sous forme de caractère et de valeur nominale, dans notre cas la colonne Consommation. Vous pouvez éventuellement ajouter une colonne de validation qui ajoutera une sortie supplémentaire dans la plateforme en fonction de la catégorie de validation. Si tu utilises JMP Pro , vous pouvez le faire facilement en allant dans Analyse -> Modélisation prédictive -> Ajouter une colonne de validation. La colonne de validation peut comporter deux ou trois catégories et doit être composée de valeurs numériques.
Column CastingColumn CastingColumn CastingColumn CastingMoulage de colonne
Lancement
Étape 1: Lancez le Prob[Donut] sur X et la Consommation sur Y. Ces deux colonnes sont obligatoires.
Étape 2: Définissez votre niveau cible sur « Donut », car c'est ce que prédit le modèle.
Étape 3: Définissez votre niveau alpha pour l'analyse statistique, qui est laissé à 0,05 par défaut.
Étape 4: Vous avez la possibilité en haut à droite de choisir la Terminologie de Performance en fonction d'un domaine d'application donné, ce qui est une option purement visuelle pour les étiquettes des différentes mesures. Dans ce cas, nous le laisserons sur « Général ».
Étape 5 : La case à cocher d'accessibilité visuelle est une fonctionnalité permettant de modifier la sortie graphique afin de pouvoir interpréter les résultats sans avoir besoin de distinguer les couleurs sur les graphiques, ce que nous laisserons de côté pour l'instant.
Étape 6 : Une fois tous ces paramètres initiaux définis, cliquez sur « OK » pour lancer la plateforme. Selon la taille de votre ensemble de données et si vous avez utilisé ou non une colonne de validation, le lancement peut prendre quelques secondes.
Résultats – Tableau de données généré
En plus de la plateforme, un nouveau tableau de données sera également lancé. Ce tableau de données prend les colonnes Prob[Donut] et Consommation, et pour la probabilité de chaque personne de manger un beignet, il crée des décomptes pour les vrais positifs, les vrais négatifs, les faux positifs et les faux négatifs en parcourant toutes les personnes et en comparant le courant. la consommation réelle d'une personne et sa probabilité de consommation par rapport aux autres individus.
À partir de ces décomptes, une colonne de sensibilité, ou taux de vrais positifs, est créée, qui correspond à la capacité du modèle à identifier correctement ceux qui ont réellement consommé un beignet. La spécificité, ou le véritable taux négatif, est la capacité du modèle à identifier correctement les individus qui n'ont pas consommé de beignet.
Le taux d'erreurs de classification est la somme des faux positifs + des faux négatifs sur le nombre total d'observations dans cette ligne.
Si vous avez utilisé une colonne de validation, un tableau individuel sera ouvert en arrière-plan pour chaque catégorie de validation, ainsi qu'un tableau avec tous les sous-ensembles réunis.
Generated Data TableGenerated Data TableGenerated Data TableGenerated Data TableTableau de données généré
Résultats – Fenêtre de rapport
Retour à la plateforme. Le premier graphique que nous voyons est une courbe ROC standard, représentant la sensibilité par rapport à 1 - Spécificité ainsi que l'aire sous la courbe avec un intervalle de confiance de Wald à 95 %. À droite, nous avons un graphique de cluster montrant visuellement la distribution des résultats de la classification binaire. L'axe des y montre les catégories modélisées et l'axe des x représente le score du modèle. Le curseur vertical se trouve au seuil actuel. Les points rouges sont les points pour lesquels le modèle a mal prédit la consommation de beignets, tandis que les points bleus sont correctement prédits.
Interactivity of the PlatformInteractivity of the PlatformInteractivity of the PlatformInteractivity of the PlatformInteractivité de la Plateforme Dans la deuxième ligne, nous avons l'analyse numérique. Le tableau des mesures de performance fournit des estimations et des intervalles de confiance pour sept mesures différentes. La prévalence est la proportion de salariés qui ont effectivement mangé un beignet. Le taux/sensibilité vrai positif et le taux/spécificité vrai négatif ont été discutés plus tôt et sont également inclus ici. La valeur prédictive positive (VPP) est interprétée comme la mesure dans laquelle un résultat positif de beignet prédit une consommation réelle de beignet. La VAN est à l'opposé, c'est-à-dire dans quelle mesure un résultat négatif en matière de beignet prédit un manque réel de consommation de beignets. Le rapport de vraisemblance positif (LR+) indique dans quelle mesure les chances de consommation de beignets augmentent lorsqu'un test s'avère positif pour la consommation de beignets. LR- est le contraire, ou à quel point les chances de consommation de beignet diminuent lorsqu'un test renvoie une non-consommation. À droite des mesures de performances, nous pouvons voir les matrices de confusion 2x2 montrant les taux et les nombres de TP, TN, FP et FN. À côté se trouvent le taux de classification erronée et le Coefficient de corrélation de Matthews (MCC) . Le MCC est une autre mesure de la qualité de la classification binaire, avec une valeur de 1 signifiant que chaque personne qui devait manger un beignet en a effectivement mangé un, 0 signifie que le modèle est équivalent à une classification aléatoire et -1 est une erreur de classification totale, où chaque beignet prédit le mangeur n’en a pas mangé. La courbe de compromis d'erreur dans la rangée du bas montre les graphiques linéaires du nombre d'erreurs faussement positives et fausses négatives avec une option de triangle rouge personnalisée pour modifier l'axe Y en taux plutôt qu'en comptes.
Visual Accessibility Turned OnVisual Accessibility Turned OnVisual Accessibility Turned OnVisual Accessibility Turned OnAccessibilité visuelle activée
Ces tableaux et graphiques sont tous excellents en eux-mêmes, mais la vraie valeur vient de l'aspect interactif. Les mesures de performance d'un modèle de classification sont basées sur un seuil ou un seuil. Lorsque vous modifiez le seuil, les mesures de performances changent. Sur la courbe de compromis état/score et erreur, des marqueurs de déplacement sur les lignes horizontales indiquent le seuil du modèle. Saisissez et déplacez l'une de ces lignes pour modifier le seuil et mettre à jour les mesures de performances.
Vous pouvez également utiliser le curseur ou la zone numérique modifiable sous la zone de contour « Définir le seuil de probabilité » au-dessus des matrices de confusion pour modifier le seuil. Ces marqueurs de déplacement et curseurs sont tous synchronisés et lorsque vous en déplacez un, les autres bougent également. Ces curseurs définissent le nouveau seuil de probabilité, le point qui détermine la classification binaire indiquant si le modèle prédit que vous consommerez un beignet. L'augmentation du seuil définira un seuil plus strict permettant au modèle de prédire la consommation de beignets et vice versa. Par exemple, si vous définissez le seuil à 0,8, cela signifie que pour que le modèle prédise que vous consommerez un beignet, vous devez avoir un Prob[Donut] > 0,8, sinon il prédira que vous ne consommerez pas de beignet.
Caractéristiques supplémentaires
Le bouton « Réduire les erreurs de classification » définit le seuil optimal qui minimise la somme des faux positifs et des faux négatifs. À son tour, cela maximise également le MCC.
Minimizing MisclassificationMinimizing MisclassificationMinimizing MisclassificationMinimizing MisclassificationMinimiser les erreurs de classification
Dans le triangle rouge personnalisé « Analyse de seuil/seuil » en haut, vous avez la possibilité d'afficher une courbe de levage, en plus d'une courbe de gains cumulés si vous êtes un utilisateur Pro, en bas de la sortie. Ces options sont également disponibles pour chaque catégorie de validation sous le triangle rouge des mesures de performance lors de l'utilisation d'une colonne de validation.
Expanding with Further AnalysisExpanding with Further AnalysisExpanding with Further AnalysisExpanding with Further AnalysisExpansion avec une analyse plus approfondie
Vous verrez également l'option de menu « Seuil basé sur le coût », qui ouvre une nouvelle fenêtre qui calcule un seuil optimal en fonction des coûts de classification. Par exemple, disons que vous avez une prévalence de consommation de beignets de 0,5, un coût de classification TP et TN de 0, un coût FP de 1 et un coût FN de 3. Dans cet exemple, il est trois fois plus coûteux pour vous d'avoir une classification de beignets faussement négative que d'avoir un faux positif, peut-être que les gens seraient trois fois plus contrariés par une pénurie de beignets plutôt que par un excédent. Avec ces coûts, le seuil optimal est de 0,25, que vous pouvez saisir manuellement dans la zone d'édition du numéro.
Cost Based ThresholdingCost Based ThresholdingCost Based ThresholdingCost Based ThresholdingSeuil basé sur les coûts Enfin, vous avez la possibilité d'enregistrer une nouvelle colonne de classification dans votre table de données d'origine, ce qui crée une nouvelle colonne Consommation basée sur le seuil actuel.
Saving a New Classification ColumnSaving a New Classification ColumnSaving a New Classification ColumnSaving a New Classification ColumnEnregistrement d'une nouvelle colonne de classification
Conclusion
Ce complément est un outil extrêmement puissant pour évaluer les seuils dans n'importe quel modèle de classification, qu'il s'agisse de prédire la consommation de beignets ou les taux de défauts de fabrication. En regroupant tous les graphiques et tableaux sur une seule plate-forme hautement interactive, la visualisation des données et la définition des seuils du modèle sont simples.
Quel type de modèles évaluez-vous avec ce complément ? Faites-moi savoir dans les commentaires ci-dessous si vous avez des suggestions !
Lorsque j'active ce complément très précieux, je n'obtiens pas le tableau avec le nombre de vrais positifs, de vrais négatifs, de faux positifs et de faux négatifs en parcourant toutes les personnes et en comparant la consommation réelle et la probabilité de consommation de la personne actuelle au d'autres individus.
Je ne trouve pas non plus de bouton « minimiser les erreurs de classification » dans la section Définir le seuil de probabilité.
Enfin, le MCC n'est pas calculé (Coefficient de Corrolation de Matthews).
Quelqu'un sait-il si le score F1 est calculé automatiquement ?
Peut-être qu'il existe entre-temps une version mise à jour ?