Bonjour.
La question que je me pose est que j'ai un ensemble de données et que je souhaite séparer 30 % de cet ensemble de données à des fins de test. Je souhaite essayer différents modèles en utilisant le filtrage de modèles, mais pour la partie validation de mes modèles, je souhaite que tous mes modèles utilisent exactement le même ensemble de données de test pour la validation.
Que dois-je faire à cet effet ?
Salut @maryam_nourmand ,
Le moyen le plus simple d'obtenir des résultats reproductibles sur des ensembles de données de formation/validation/test fixes est de créer une colonne de validation.
- Tout d'abord, allez dans le menu correspondant pour créer la colonne de validation :

- Ensuite vous pouvez spécifier des groupes ou une stratification (si nécessaire) :

Vous avez plusieurs options pour la méthode : ici j'ai utilisé celle par défaut correspondant à vos besoins, "Make Validation Column" et j'utilise certaines variables comme colonnes de stratification pour m'assurer que tous mes ensembles de formation, de validation et de test auront une distribution/répartition similaire. de valeurs pour ces colonnes.
-
Vous pouvez ensuite spécifier le ratio de données pour chacun de vos ensembles, et spécifier une graine aléatoire pour avoir une reproductibilité parfaite dans votre analyse. Ici, j'ai choisi un type de validation fixe, mais vous pouvez également créer une colonne de validation de formule, permettant de simuler différents ensembles de formation, de validation et de test avec les mêmes paramètres (regroupement, stratification, etc...) comme spécifié à l'étape 2. Voici mon les ratios de données sont de 70 % pour la formation, 20 % pour la validation et 10 % pour le test (valeurs habituelles, pour plus d'informations et de recherches sur ce sujet, vous pouvez lire l'article "Optimal Ratio for Data Splitting" de V. Roshan Joseph : https
/arxiv.org/pdf/2202.03326 ). Il est important de trouver un bon compromis pour les ratios en fonction de la précision de l'évaluation et de la sélection du modèle nécessaire, ainsi que du nombre de données/lignes disponibles. Lorsque vous avez terminé, cliquez sur "Go" pour créer cette nouvelle colonne de validation dans votre tableau :

-
Enfin, lancez la plateforme de sélection de modèles et utilisez votre "colonne Validation" nouvellement créée dans le panneau "Validation". Vous pouvez également fixer une graine aléatoire à ce stade pour avoir des résultats reproductibles pour les différents modèles et sets utilisés :
Juste quelques précisions sur les termes validation et test, car ils peuvent très souvent être utilisés alternativement avec une certaine confusion :
- Set d'entraînement : Utilisé pour l'entraînement proprement dit du ou des modèles,
- Ensemble de validation : Utilisé pour l'optimisation du modèle (affinage des hyperparamètres, sélection des fonctionnalités/seuils, ... par exemple) et la sélection du modèle,
- Ensemble de test : utilisé pour la généralisation et l'évaluation prédictive des performances du modèle sélectionné sur des données nouvelles/invisibles.
Vous pouvez donc évaluer plusieurs modèles avec l'ensemble de validation, mais l'ensemble de test ne doit être utilisé qu'une seule fois pour le modèle sélectionné lors de la phase de validation.
J'espère que cette réponse vous aidera,
Si vous avez JMP Pro, il dispose d'une plate-forme pour créer une colonne de validation, et dans les différentes plates-formes de modélisation, on peut spécifier la colonne qui indique quelles lignes sont des lignes de formation et lesquelles sont des lignes de validation.
Si vous disposez de JMP standard, vous pouvez facilement créer une colonne de validation en utilisant la fonction Random Uniform() dans la formule de la colonne de validation créée. (Veillez à spécifier la colonne comme étant une colonne de caractères.)
If(randome uniform()>=.7, "Validation", "Training")
Une fois la colonne créée, vous souhaiterez accéder à l'écran Informations sur la colonne et supprimer la formule qui rendra les valeurs de la colonne statiques, garantissant ainsi que la formule ne sera pas exécutée une deuxième fois, modifiant ainsi les valeurs.
Vous pouvez ensuite exclure et masquer les lignes de validation pendant que vous créez votre modèle, puis lorsque vous souhaitez valider le mode, décochez Masquer et exclure les lignes de validation et Masquer et exclure les lignes de formation, puis réexécutez le modèle.