Complément de classification déséquilibréeLe complément Imbalanced Classification propose des techniques d’échantillonnage qui tentent d’imposer une distribution plus équilibrée entre les deux classes. Les techniques d'échantillonnage comprennent la technique de suréchantillonnage synthétique des minorités (SMOTE), les liens Tomek et une combinaison des deux, ainsi que certaines approches d'échantillonnage de base. Les options Tomek Sampling, SMOTE Observations et SMOTE plus Tomek vous permettent d'appliquer ces techniques d'échantillonnage seules pour prendre en charge vos efforts de modélisation spécifiques.
L'option complète d'évaluation des modèles, qui nécessite JMP Pro, vous permet d'ajuster des modèles à l'aide de diverses méthodes d'échantillonnage et de les comparer sur un ensemble de tests pour sélectionner des seuils à l'aide des courbes de rappel de précision, de ROC et de gains cumulés, ainsi que d'autres mesures de précision de classification. . Les trois autres options ne correspondent pas aux modèles, mais vous permettent plutôt d'appliquer les schémas d'échantillonnage Tomek, SMOTE et SMOTE plus Tomek à vos propres données.
Les techniques d'échantillonnage SMOTE, Tomek et combinées SMOTE et Tomek utilisent le concept de voisins les plus proches. Le complément utilise la distance de Gower comme métrique de distance, ce qui permet des prédicteurs continus, nominaux et ordinaux. Ces options ne nécessitent pas JMP Pro.
Remarque : Toutes les options nécessitent JMP version 15.2 ou supérieure. Les lignes exclues et les lignes avec des valeurs de réponse manquantes sont ignorées par le complément.
La version 2, publiée le 25/03/2021, prend en charge JMP 16 et améliore la gestion des lignes avec des valeurs manquantes pour tous les prédicteurs.
La version 2.1, publiée le 03/10/2023, corrige un bug dans l'interpolation des valeurs PR qui se produisait pour des tables de données spécifiques.
Modélisation prédictive et exploration de donnéesStatistiquesRe : Complément de classification déséquilibréeBonjour @michael_jmp
Merci beaucoup pour ce complément. Mais pour le moment il ne gère que les réponses binaires déséquilibrées catégorielles/ordinales ?Est-ce que cela gérera plus tard les réponses multi-classes ?
Cordialement,
Re : Complément de classification déséquilibréeMerci pour vos commentaires et désolé pour la réponse lente. Je ne pense pas que la modification suggérée pour nIncr soit la bonne façon de corriger ce bug. Je joins une version mise à jour du complément (ver. 2.1) qui contient un correctif. (Le correctif modifie la condition dans l'instruction If(). Fondamentalement, si les valeurs de rappel sont suffisamment proches les unes des autres, nous n'avons pas besoin de faire d'interpolation et nous n'avons donc pas du tout besoin d'entrer dans cette instruction If().)
Re : Complément de classification déséquilibréeSalut @michael_jmp ,
Un de mes clients a reçu le même message d'erreur que Sandra1 (« Concaténer les chaînes ou les matrices uniquement à la ligne 21189 lors de l'accès ou de l'évaluation de « V Concat »… ») lors de l'analyse d'un grand ensemble de données. Après avoir examiné le code source, j'ai découvert qu'une telle erreur provenait de la partie ci-dessous du code :

La variable "nIncr" est égale à 0, de sorte que J(nIncr-1,1, .) est désormais un scaler plutôt qu'une matrice, ce qui rend l'opération de concatération V invalide.
Pour résoudre ce problème, j'ai codé en dur nIncr pour être "nIncr = nLignes (PrécisionTemp) - nLignes (SensitivityTemp) + 1;" et peut désormais exécuter le complément avec succès sur un ensemble de données volumineux.
La question est maintenant que je ne suis pas sûr qu'une telle modification de code soit valide, car je n'ai pas eu assez de temps pour lire le code. Pourriez-vous s'il vous plaît aider à confirmer cela ?
Re : Complément de classification déséquilibréeSalut @Sandra1 ,
Oui, toutes les opérations dans JMP sont effectuées en mémoire, vous êtes donc limité par la quantité de mémoire disponible sur votre machine.
Re : Complément de classification déséquilibréeCher @michael_jmp ,
Merci pour votre aimable réponse. Oui, cela fonctionne si je réduis la taille à environ un dixième de la table de données d'origine. L'opération à court de mémoire est-elle liée au matériel informatique ?
Re : Complément de classification déséquilibréeSalut @Sandra1 ,
Merci d'avoir essayé le complément. Si vous réduisez la taille de votre table de données, parvenez-vous à faire fonctionner le complément sans rencontrer d’erreurs ? Je suppose que l'une des opérations manque de mémoire sur votre machine pour le nombre d'observations dont vous disposez.
Re : Complément de classification déséquilibréeSalut,
Lors de la création d'une colonne de poids utilisant un total de 21 188 éléments de données, une alerte apparaîtra, comme le montre la figure :
Il a été découvert plus tard que cela pouvait être lié à certains problèmes lors de la génération de SMOTE plus Tomek ?Par conséquent, après avoir décoché SMOTE plus Tomek, continuez à essayer d'autres constructions de modèles et l'alerte affichée sur la figure apparaît toujours.Les données de l'ensemble d'apprentissage ont été générées avec succès, mais de nombreuses valeurs sont manquantes.


De plus, la fenêtre Courbe de rappel de précision n'est pas générée. Comment pouvons-nous déterminer la source de ce problème et que faire pour y remédier ?
Merci,
Sarah
Re : Complément de classification déséquilibréeSalut @Lu - Merci pour la suggestion. Cependant, nous n’avons actuellement pas l’intention d’ajouter des modèles au complément.
Re : Complément de classification déséquilibréeSalut, @michael_jmp , puisque XGboost est un modèle ML plus fréquemment utilisé en raison de ses hautes performances. Pensez-vous pouvoir implémenter ce type de modèle dans le complément dans un avenir proche ? Cordialement, LuRe : Complément de classification déséquilibréeSalut @OneSidedLemur23 - J'ai également travaillé sur ce complément. Si vous êtes en mesure de partager vos données (ou un ensemble de données similaire à vos données), cela serait utile pour résoudre le problème que vous rencontrez. Si vous le pouvez, envoyez-moi un email à Colleen.McKendry@jmp.com et j'espère que nous pourrons obtenir des réponses pour vous !
Re : Complément de classification déséquilibréeSalut, @michael_jmp , merci pour votre complément. Il y a un problème quand je l'utilise. Par exemple, j'ai une variable dépendante y et quelques variables indépendantes, lorsque j'utilise les "observations SMOTE", j'ai fait glisser la variable y vers "variable de classe binaire" et les variables indépendantes vers "X, prédicteurs", et un nouvel ensemble de données a été généré. Mais dans ce nouvel ensemble de données, les valeurs des variables indépendantes étaient vides, comment puis-je ajouter les nouvelles observations générées aux observations originales ? Merci!!!
Re : Complément de classification déséquilibréeJ'ai bien peur que ce soit la version 2 du complément. J'ai également essayé de l'installer à nouveau, mais rien n'a changé du tout. J'utilise JMP Pro 16, je ne sais pas non plus s'il y a des problèmes avec cette version. Merci!!
Re : Complément de classification déséquilibréeSalut @Zuska-Ariri , merci d'avoir essayé le complément. Désolé que vous voyiez des erreurs. Nous avons identifié le problème qui @Lu nous a été signalé, et cela devrait être corrigé dans la "Version 2" du complément, liée sur cette page. Pouvez-vous confirmer que vous utilisez la version 2 du complément ? Et quelle version de JMP utilisez-vous ?
Si vous voyez toujours des erreurs avec la version 2 du complément, nous pouvons enquêter plus en détail.
Merci,
Michael
Re : Complément de classification déséquilibréeBonjour, merci pour les nombreuses précisions dans la vidéo. Mais j'ai le même problème que @Lu , cela arrive réellement quelles que soient les données que j'utilise, j'ai également essayé d'utiliser l'échantillon utilisé dans la vidéo mais rien n'a changé. La source de ce problème a-t-elle été identifiée jusqu'à présent ?
Merci d'ailleurs
- Zuska
Re : Complément de classification déséquilibréeSalut @bfrank , il est difficile de fixer une limite spécifique au volume de données que le complément peut gérer, car il est principalement limité par la quantité de mémoire sur la machine actuelle (similaire au reste de JMP). Nous savons que plus le nombre de prédicteurs catégoriels augmente, plus la durée d’exécution augmente. Désolé, nous n'avons pas de spécifications plus définitives.
Merci,
Michael
Re : Complément de classification déséquilibréeMichael,
Merci d'avoir posté ceci. Pouvez-vous clarifier les limitations qui existent pour ce complément. Il semble qu'il ne puisse pas gérer certains volumes de données.
Re : Complément de classification déséquilibréeSalut @Lu , désolé d'apprendre que vous voyez un message d'erreur avec le complément. Pourriez-vous m'envoyer vos données par message privé afin que je puisse enquêter sur la cause du problème ?
Merci,
Michael
Re : Complément de classification déséquilibréeSalut,
Lors de l'exécution du complément, je reçois l'alerte JMP suivante " Indice non valide (doit être le numéro d'une liste de nombres) lors de l'accès ou de l'évaluation de classvec[/*###*/near_row]', classvec[/*###*/near_row]
Une fenêtre chiot " Création de colonnes de pondération " apparaît et l’analyse est stockée.
J'ai déjà réinstallé Add-Inn sans aucune aide. Est-ce que quelqu'un a déjà eu ce problème ? Toute suggestion?
Merci d'avance
Lu
Re : Complément de classification déséquilibrée@Raaed Cet article de He et Garcia est un bon aperçu des techniques d'échantillonnage :
Lui, H. et Garcia, EA (2009). « Apprendre à partir de données déséquilibrées. » Transactions IEEE sur l'ingénierie des connaissances et des données. 21, 9 : 1263-1284. https://www.academia.edu/29164932/Learning_from_Imbalanced_Data
Re : Complément de classification déséquilibréeSalut
s'il vous plaît, la source de techniques d'échantillonnage (livres ou articles)
Re : Complément de classification déséquilibréeHeureux de voir ce complément !