Comment puis-je calculer automatiquement la précision et le score F1 pour les modèles basés sur des données déséquilibrées ?J'aime le fait que JMP imprime une matrice de confusion et un ROC pour la régression logistique (généralisée), mais certaines mesures importantes semblent manquer dans les résultats : précision et score F1 .Existe-t-il un moyen de les inclure automatiquement dans la sortie ? Ou bien, qu'il soit calculé aussi "automatiquement" que possible lorsque je réexécute un nouveau modèle de classification.J'essaie d'éviter de les recalculer manuellement avec chaque nouveau modèle.
MISE À JOUR : Veuillez publier les réponses aux questions uniquement. Je ne cherche pas d’avis sur la question de savoir si j’utiliserai ou non Precision et F1. Je recherche en toute confiance un moyen de les calculer automatiquement dans JMP. Si vous n'êtes pas au courant d'une telle technique, il n'y a aucune raison de se demander si cela est faisable ou non, ou de publier quoi que ce soit ci-dessous. Merci 

Études de consommation et de marchéExploration et visualisation des donnéesModélisation prédictive et apprentissage automatiquePartager et communiquer les résultatsRe : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Merci Jim. Un exemple concret comme celui-ci est ce que je cherchais. Je suis déjà revenu à Python, mais j'essaierai votre exemple JSL plus tard.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Des exemples sont disponibles dans File Exchange, les exemples de script installés lorsque vous installez JMP, directement dans le livre Guide de script, également installés lorsque vous installez JMP, etc. Et en plus de cela, voici un exemple de script qui lit à partir d'une sortie et l'affiche sous une forme différente dans le cadre d'une sortie.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// Run the Fit Y by X to get the XY plot
Biv = dt << Bivariate( Y( :height ), X( :weight ) );
// Run the distributions to get the stats
Dis = dt << Distribution( Continuous Distribution( Column( :height ) ), Continuous Distribution( Column( :weight ) ) );
// Extract the stats
heightMean = Report( dis )["Height"]["Summary Statistics"][Number Col Box( 1 )][1];
weightMean = Report( dis )["Weight"]["Summary Statistics"][Number Col Box( 1 )][1];
// Create the new display object
hlb = H List Box(
Text Box( "Mean of Height = " ),
Number Edit Box( heightMean ),
Spacer Box( size( 30, 0 ) ),
Text Box( "Mean of Weight = " ),
Number Edit Box( weightMean )
);
// Add the new object to the plot
Report(Biv)[Outline Box(1)] << Append( hlb );
Dis << close window;
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Kevin, merci pour l'exemple.
Je n'ai aucun problème à exécuter un modèle et à calculer manuellement les scores F1 et Precision. Mais existe-t-il un exemple pour les calculer automatiquement dans JMP (c'est ce que j'ai demandé à l'origine) ?
En attendant, j'ai codé ces Python, ce qui a pris moins de temps que de poster une question. Si quelqu'un fournit une réponse à l'avenir, je réessayerai avec plaisir.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Salut Oleg !
Je ne pense pas avoir mal lu votre question initiale... mais c'est juste mon opinion...
Voici un exemple à essayer :
Prenez Big Class.jmp. Exécutez une analyse de réseau neuronal ridiculement surajustée avec le sexe comme réponse et l'âge, la taille et le poids comme facteurs. Considérez la femme comme le cas positif. 
J'ai un tableau de contingence qui ressemble à ceci :

Choisissez Créer en table de données.
TP= 16. FP=2. FN=2.
F1 peut être calculé par 2*TP/(2*TP+FP+FN). J'obtiens F1=0,89.
C'est une chose très simple à écrire (à mon avis
, et vous pouvez même inclure automatiquement cette métrique (et toute autre) sur n'importe laquelle de vos sorties avec un script. Essayez-le et j'essaierai de vous aider à l'obtenir si vous échouez.
Bonne chance.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Salut Kevin. 
Si ce fil de discussion "Discussion" ressemble à StackOverflow, alors je m'attendrais à des réponses claires à des questions claires. Si je me trompe, n'hésitez pas à me guider vers les directives de publication dans les discussions. Je peux lire les opinions des autres dans les journaux. Cependant, dans le contexte scientifique et dans l’esprit du « faites-le », les réponses claires et succinctes ont une valeur ajoutée.
Au fait, venez-vous d'admettre que j'ai reçu des opinions sur ma question ? MDR.
Quoi qu'il en soit, il serait plus efficace de solliciter votre aide sur ce point.
Avez-vous rencontré des exemples JSL qui pourraient m'aider à écrire F1 et Precision et, de préférence, les avez-vous ajoutés à la page de sortie de régression ?
Acclamations!
O.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Salut Oleg !
C'est peut-être une méconnaissance de la langue, mais le mot Discussions (le nom de ce site dans la Communauté) signifie bien plus que de simples questions et réponses. Il peut à juste titre inclure des opinions, des remontrances, des plaidoyers, des diatribes et de nombreuses autres formes de dialogue, quels que soient vos désirs.
L’une des nombreuses choses que j’aime dans les statistiques (et dans JMP !), c’est que le travail vraiment génial et inventif semble se produire à l’interface entre la science des applications et l’art. Voir? Mon avis.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Kevin, vous avez peut-être mal lu ma question initiale. j'espérais un calcul intégré de F1 et de précision.JSL est une alternative raisonnable.
Avez-vous un exemple que je peux suivre ?
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Merci Jim.
1. Je suis d'accord
2. Le support demande d'utiliser le groupe de discussion, ce que j'essaie.
3. Bien sûr, JSL est une bonne direction. J'espérais que quelqu'un l'aurait déjà mis en œuvre et pourrait donner un exemple.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Salut Kevin. J'apprécie l'aide de Jim, je lui ai donné des félicitations et j'ai accepté ses solutions chaque fois que cela était approprié. Cependant, je ne dois pas être d'accord avec lui sur tous les points. Dans ce fil, j'attends des réponses aux questions posées, pas des opinions sur ce qui est à la mode dans le monde du ML.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Salut Oleg !
Voici la situation dans son ensemble : Jim Nelson a résolu de très nombreux problèmes dans cette communauté. S'il vous plaît, ne lui imposez pas vos opinions.
Et voici mon avis : vous obtiendrez peut-être plus d'aide pour votre script si vous agissez comme si vous aviez essayé et demandez de l'aide avec un peu moins d'arrogance. 
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Jim, voici comment se déroule une discussion donnant naissance à de « bonnes raisons » pour que de nouvelles fonctionnalités soient ajoutées à JMP.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Ma réponse précédente se voulait beaucoup plus simple qu'il semble que vous l'ayez interprétée.
1. JMP n'est pas parfait, mais il est plutôt bon, et les développeurs suivent vraiment les domaines sur lesquels ils travaillent, et donc ce qu'ils présentent mérite un examen attentif.
2. La meilleure façon de vous assurer que votre demande d'amélioration a bien été transmise à JMP est de l'envoyer à
support@jmp.com
3. La demande de F1 a déjà été abordée dans une discussion récente, donc je suppose qu'il n'y a pas d'utilisateur avec une solution toute faite.Par conséquent, je vous encourage à dire que cela peut toujours être fait dans JMP, où vous pouvez coder la solution en utilisant JSL.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Salut Kevin, Merci pour la réponse. Je ne comprends pas comment la préférence des autres pour l'utilisation du score F1 affectera mon besoin dans cette discussion ?
Chaque métrique a un biais.Il existe des milliers de publications (plus récentes) louant la valeur de la F1 et la précision métrique.
En fin de compte, dans cette discussion, je demande de l'aide pour calculer automatiquement les scores de F1 et de précision. Oui, cela peut être scripté ; et j'apprécierais grandement l'aide de quelqu'un qui l'a déjà mis en œuvre, afin que cette roue ne soit pas réinventée.
En effet, j'utilise déjà ROC, mais j'ai aussi besoin de F1 et de précision. À tout le moins, la réponse (si elle est découverte) à la question que j'ai posée aidera les autres à calculer automatiquement non seulement la F1 ou le score de précision, mais n'importe quelle métrique. S'il vous plaît gardez la situation dans son ensemble à l'esprit 
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Bonjour Jim, votre réponse implique que JMP est parfait et contient exactement ce dont il a besoin (pour une bonne raison). Autrement dit, tout ce qui manque dans JMP n'a pas de bonne raison d'être dans JMP. Une affirmation intéressante
Les discussions elles-mêmes génèrent de nombreuses « bonnes raisons » en faveur des nouvelles fonctionnalités de JMP. Une question a été posée sur la F1 (pas de précision) et reste toujours sans réponse, pourtant ces mesures sont largement discutées et utilisées dans les publications scientifica.
J'aime votre suggestion d'envoyer un e-mail au support, mais ils demandent de lancer une discussion. J'espère que la communauté fournira la réponse, même si ce n'est pas tout de suite.
Si vous pensez que ma question peut être améliorée, j'apprécie vos suggestions.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Salut Oleg !
Les scores F1 (et d'autres mesures de précision populaires « importantes ») ont été déconseillés dans certains coins de la communauté du Machine Learning en raison de leurs performances sous biais. Veuillez vous référer au fichier ci-joint, qui suggère l'utilité des courbes de fonctionnement du récepteur et de certaines autres mesures.
Et comme le note Jim, vous pouvez écrire tout ce que votre cœur désire.
Re : Comment calculer automatiquement la précision et le score F1 pour les modèles sur des données déséquilibrées ?Si JMP ne fournit pas une statistique spécifique que vous souhaitez pour une analyse donnée, d'après mon expérience, les développeurs de JMP ont de bonnes raisons de ne pas l'inclure. Ce groupe de discussion, bien que surveillé par JMP, n'est pas le meilleur moyen d'inclure vos statistiques dans une future version. Vous devez envoyer une demande d'amélioration à
support@jmp.com
Ils disposent d'un système de suivi formel pour ces articles.
Mais maintenant, parlons de la beauté de JMP.Souvent, la communauté de discussion aura une solution à ce dont vous avez besoin.Mais, comme ce sujet a déjà été abordé, sans réponse sur la F1 etc.Je suppose que la solution n'est pas disponible.Cependant, bon nombre, sinon la plupart, de ces requêtes peuvent être ajoutées à votre analyse via JSL. Donc, en réponse à votre question, je suis sûr que vous pourriez écrire un script pour les ajouter à votre analyse.