Équilibrage des donnéesBonjour,
Je souhaite équilibrer mes données avant de les analyser, car mon taux de réponse n'est que de 27 %. J'ai d'abord créé une colonne de validation stratifiée (basée sur ma colonne cible) pour créer un ensemble d'entraînement, de validation et de test. Dois-je équilibrer mes données dans l'ensemble d'entraînement et de validation, et non dans l'ensemble de test, ou uniquement dans l'ensemble d'entraînement ? J'aimerais utiliser la technique SMOTE, puis la technique de validation croisée de la plateforme de criblage de modèles sur les bases de données condensées (entraînement, validation et test), avec une colonne de validation pour l'analyse des performances de l'ensemble de test. Cette méthode est-elle la meilleure pour équilibrer mes données avant la validation croisée ? Vos suggestions sont toujours les bienvenues ?
Salutations,
Lundi
Analyse et modélisation des données de baseModélisation prédictive et apprentissage automatiqueRe : Équilibrage des donnéesSalut @Lu ,
J'ai des sentiments mitigés à propos de SMOTE ou d'autres techniques d'équilibrage pour la classification :
- SMOTE « détruit » complètement le calibrage de votre classificateur (car il modifie complètement la proportion des deux classes pendant la phase d'apprentissage), ce qui signifie que les probabilités calculées par votre classificateur ne correspondent pas aux probabilités réellement mesurées dans votre jeu de données. Cela peut être particulièrement sensible pour certaines applications (santé, finance/banque, etc.), car vous pouvez parfois avoir besoin des probabilités calculées plutôt que de la classe majoritaire finale.
- De plus, comme l'indiquent l' article original et des études ultérieures , SMOTE n'apporte que de faibles bénéfices lorsque le classificateur est un modèle d'apprentissage faible, comme l'arbre de décision et la méthode bayésienne naïve. Utilisé avec des modèles de pointe ou « forts » (comme Random Forest, XGBoost, etc.), SMOTE n'apporte aucun bénéfice et peut même nuire à l'apprentissage. Une autre étude est disponible ici : The Harms of Class Imbalance Corrections for Machine Learning Based Prediction Models: A Simulation Study - Carriero - 2025 - Statistiques en médecine - Bibliothèque en ligne Wiley.
Dans la plupart des études, la conclusion concernant ces techniques est la même : « une prédiction correcte et optimale est obtenue en utilisant un classificateur fort et l'équilibrage des données n'est ni nécessaire ni bénéfique » ou « La correction du déséquilibre de classe n'est pas toujours nécessaire et peut même être préjudiciable aux modèles de prédiction clinique qui visent à produire des estimations de risque fiables sur une base individuelle. ».
- SMOTE peut être utile dans des contextes spécifiques, comme l'utilisation d'apprenants faibles ou l'impossibilité d'ajuster les seuils de décision, mais son efficacité relative peut également varier en fonction des indicateurs de performance choisis. Par ailleurs, je ne recommande pas son utilisation.
Un déséquilibre de 27 % pour une classe minoritaire ne représente pas un déséquilibre majeur. Des méthodes classiques comme l'ajustement des seuils de décision ou la spécification d'une matrice de profit devraient vous aider à ajuster les performances de votre classificateur à la situation. L'ajout de nouvelles caractéristiques/variables, le prétraitement des données (ingénierie des caractéristiques) pour améliorer le modèle, l'ajout de nouvelles données ou la sélection des observations les plus représentatives et les plus différentes, ainsi que l'essai de plusieurs modèles à des fins de comparaison et d'analyse comparative, peuvent également contribuer à améliorer vos performances.
Il est important de comprendre que les données déséquilibrées ne constituent un problème que si la classe minoritaire de l'ensemble d'apprentissage n'est pas suffisamment représentative et/ou si les caractéristiques ne constituent pas des indicateurs suffisamment fiables pour l'étiquette. L'idéal est de résoudre ces deux problèmes, afin que le modèle puisse fonctionner parfaitement malgré le déséquilibre.
Cela étant dit, l'ajout d'une opération SMOTE (ou de tout autre prétraitement) au workflow (si nécessaire) doit être effectué avec précaution, afin d'éviter les fuites de données et les attentes de performances trop optimistes. SMOTE ou toute autre technique d'équilibrage doit être appliqué aux ensembles d'entraînement et de validation (pour entraîner, comparer et sélectionner le modèle le plus performant), mais évidemment pas à l'ensemble de test, car le modèle doit fonctionner et être évalué en conditions réelles (avec un déséquilibre important).
J'espère que cette réponse vous aidera,
Re : Équilibrage des donnéesMerci pour vos conseils clairs Victor.
Pour l'instant, j'ai vérifié les performances de mes modèles à l'aide des modules complémentaires « Classification déséquilibrée » et calculé les valeurs de rappel de précision et d'AUC ROC pour les modèles de réseaux neuronaux, de forêts Bootstrap et d'arbres boostés avec SMOTE et l'équilibrage TOMEC, sans pondération. Cependant, cela n'a pas amélioré les AUC. Par conséquent, l'équilibrage de mes données n'améliorerait probablement pas les performances de toute façon.
Merci pour votre soutien,
Salutations
Lundi
Ré: Équilibrage des donnéesSalut Russ,
J'ai une colonne « Validation » qui distingue les lignes d'entraînement, de validation et de test. Cette colonne doit-elle être spécifiée dans la plateforme de filtrage de modèles lors de l'application de la validation croisée imbriquée ? J'ai remarqué que le résumé des statistiques de performance diffère selon que cette colonne est incluse ou non.
Pourriez-vous confirmer quelle serait l’approche recommandée dans ce cas ?
Je voudrais comparer et rapporter les performances des modèles ML.
Existe-t-il un moyen rapide d'entrer dans plus de détails que le rapport récapitulatif actuel produit, tel que F1, MCC, Sens, Spec, FP, FN, ...
salutations,
Lundi
Ré: Équilibrage des donnéesSalut @Lu ,
Si vous avez sélectionné une option de validation croisée lors du lancement de la plateforme Model Screening, l'ajout d'une colonne de validation ne changera rien, car l'option de validation croisée sélectionnée prendra le relais de la colonne de validation : Lancez la plateforme Model Screening (partie validation).
Les résultats différents que vous pourriez obtenir sont plutôt dus à la valeur aléatoire si vous ne l'avez pas corrigée. L'ajout ou non d'une colonne de validation lors de la validation croisée produira les mêmes résultats avec une valeur aléatoire fixe :

Concernant le sujet (vaste) de l’évaluation, de la comparaison et de la sélection de modèles, plusieurs autres sujets peuvent vous aider à trouver une stratégie de validation pertinente :
Comment effectuer une validation croisée k-fold sur des modèles ML (par exemple, un réseau neuronal et une forêt aléatoire) et vérifier les performances du modèle sur des données de test fixes ? sélection de modèles
Une ou plusieurs colonnes de validation
validation croisée à l'aide de la qualité d'ajustement k-fold
Méthodes de validation croisée à un ou plusieurs facteurs ?
VALIDATION CROISÉE - MÉTHODE DE LA COLONNE DE VALIDATION
J'espère que cette réponse vous aidera,