Performances statistiques de XGBoost dans l'ensemble de tests de criblage de modèlesBonjour,
J'utilise le criblage de modèles et la validation croisée imbriquée pour comparer plusieurs modèles d'apprentissage automatique afin de classer une maladie. XGBoost est le plus performant pour tous les tests, notamment pour l'ASC-ROC et le taux d'erreur de classification. Cependant, lorsque je souhaite analyser plus en détail d'autres statistiques en effectuant une analyse du seuil de décision, j'obtiens toutes les performances (scores F1, MCC, Sens, Spec ?, etc.) de tous les autres modèles, mais pas pour XGBoost dans l'ensemble de test. Pourquoi ? Je souhaite également afficher ces statistiques. Auriez-vous une astuce pour obtenir ces statistiques pour les tests du modèle XGBoost ?
salutations,
Lundi
Analyse et modélisation des données de baseModélisation prédictive et apprentissage automatiqueObjet : Performances statistiques de XGBoost dans l'ensemble de tests de criblage de modèlesSalut @Lu ,
Juste pour clarifier, les ajustements des seuils de décision doivent être effectués sur l'ensemble de validation, et non sur l'ensemble de test.
Voici quelques rappels sur les termes utilisés et leur utilisation :
- Ensemble d'entraînement :Utilisé pour la formation réelle du ou des modèles,
- Ensemble de validation : Utilisé pour l'optimisation du modèle (réglage fin des hyperparamètres, sélection de caractéristiques/seuils, ... par exemple) et la sélection du modèle,
- Ensemble de tests :Utilisé pour la généralisation et l'évaluation des performances prédictives du modèle sélectionné sur des données nouvelles/inédites.
L'objectif de l'ensemble de validation est d'aider à comparer et à sélectionner un modèle, ainsi qu'à affiner les hyperparamètres ou les seuils de décision.
L'ensemble de tests ne doit en aucun cas être utilisé pendant la formation et le réglage fin du modèle, car il sert de « validation » finale et impartiale de votre modèle et d'évaluation finale des performances de votre modèle.
Vous pouvez en savoir plus sur la distinction entre les ensembles de validation et de test dans les conversations suivantes :
Si nous voyons les résultats « Formation » et « Validation » dans la sortie même lorsque nous appliquons le modèle aux données de test et aux données d'entraînement séparément dans JMP Pro. Que faire alors pour obtenir les résultats des données de test et d'entraînement uniquement ? VALIDATION CROISÉE - MÉTHODE DE LA COLONNE DE VALIDATION
...
Concernant votre question spécifique, si je ne me trompe pas, XGBoost n'est disponible que pour la version JMP Pro via un add-in créé par @russ_wolfinger , donc comme il s'agit d'une fonctionnalité ajoutée via un add-in, toutes les options de réglage du modèle peuvent ne pas être disponibles (comme le seuil de décision. Vous pouvez créer un souhait sur la liste de souhaits JMP ou écrire un commentaire sur cette situation sur la page dédiée au complément XGBoost .
Cependant, si XGBoost est le modèle le plus performant, vous pourriez :
- Séparez d'abord votre ensemble de tests de vos données d'entraînement/validation ! Ainsi, les données de test ne sont visibles par le modèle à aucune étape, et vous ne les utilisez qu'une fois que votre modèle a défini des hyperparamètres et un seuil de décision.
- Créez une colonne de validation K-folds sur votre ensemble de données d’entraînement/validation.
- Lancez la plateforme XGBoost (depuis le menu du module complémentaire), spécifiez votre validation de colonne K-folds :

- Exécutez la formation XGBoost et ajustez le seuil de décision sur l'ensemble de validation :

- Enregistrez la formule de prédiction et évaluez les performances sur l'ensemble de tests.
J'espère que cette réponse vous aidera,
Objet : Performances statistiques de XGBoost dans l'ensemble de tests de criblage de modèlesMerci pour l'excellente réponse @Victor_G
@Lu , je voulais mentionner que pour le filtrage des modèles, nous avons corrigé un problème de fuite dans la version 19, disponible dès maintenant via Early Adopter et dont la production devrait commencer dans quelques semaines. Je suggère de relancer la version 19 une fois que vous l'aurez. Je pense que les résultats des tests XGBoost devraient être disponibles, et comme le souligne judicieusement @Victor_G , utilisez toujours la division des jeux de tests pour comparer les modèles.
Remarque : XGBoost et Torch se distinguent des autres plateformes JMP par le fait qu'elles utilisent uniquement des divisions bidirectionnelles (apprentissage et validation), mais qu'elles n'observent pas la division de validation pendant l'apprentissage, ce qui garantit des résultats de validation sans fuite. Leur configuration est conçue pour une validation croisée complète en K-Fold et l'enregistrement des prédictions hors pli, au lieu d'une seule division en trois.
Quelques suggestions supplémentaires :
1. Essayez l'option Autotune dans XGBoost, en utilisant la configuration autonome décrite par @Victor_G . (Il existe également un utilitaire « Make K-Fold Columns » fourni avec le module complémentaire.) Vous pouvez probablement obtenir des performances hors pli encore meilleures.
2. Les réseaux neuronaux Torch Deep Learning valent également la peine d'être essayés à des fins de comparaison, et pour des performances optimales, associez-les à XGBoost.
Objet : Performances statistiques de XGBoost dans l'ensemble de tests de criblage de modèlesMerci pour votre excellente réponse, Victor et Ross. J'ai hâte de découvrir les nouveautés que la plateforme de criblage de modèles apportera prochainement dans sa version 19 !
Salutations,
Jeu