en utilisant les données de validation sur l'arbre boostéJ'ai développé un modèle prédictif avec arbre boosté. J'avais 30 000 lignes de données d'entraînement. J'ai 10 000 traits de données de « validation ». Comment puis-je exécuter l'ensemble de données de validation via le modèle (j'ai plus de 800 variables dans mon modèle, donc obtenir une « formule » n'était pas pratique). Veuillez fournir une solution interactive (pas de script).Conception d'expériencesRe : Utilisation des données de validation sur un arbre boostéMa préférence serait d'ajouter les données de test (en utilisant Concaténer - après avoir enregistré la colonne de formule de prédiction et coché la case pour évaluer les formules).Vous ne souhaitez pas faire des données de test un ensemble de validation, car elles seront utilisées lors du développement des modèles.JMP séparera automatiquement les performances de votre modèle entre les données de formation, de validation et de test.
Je suis toujours préoccupé par vos références répétées à la complexité de votre modèle.Normalement, JMP peut gérer des colonnes de formules assez complexes.S'il est suffisamment complexe pour poser des problèmes lors de son évaluation par JMP, je me demande si vous devez utiliser ce modèle.Si vous aviez des millions de lignes, cela pourrait être une limitation matérielle - mais avec 30 000 lignes, il ne devrait pas y avoir de problème à moins que vous n'ayez trop de variables dans votre modèle.Comme vous le suggérez, vous pourriez avoir quelque chose comme 800 variables dans votre modèle et je soupçonne que cela pourrait poser des problèmes pour certains modèles prédictifs.Cependant, ma première réaction serait que vous ne voulez vraiment pas d'un modèle avec 800 facteurs et seulement 30 000 points de données (moins si vous utilisez des ensembles de données de validation et de test).Vous pouvez sûrement obtenir un modèle avec presque les mêmes performances en utilisant moins de facteurs.Je pense donc que la première étape serait d’obtenir un modèle plus gérable.
Re : Utilisation des données de validation sur un arbre boostéVoici ma réflexion à ce stade. Si vous souhaitez évaluer un modèle dans une table de données JMP, ajoutez simplement le nouvel ensemble de prédicteurs « test » et la réponse à la table de données contenant le modèle. Je donnerais au nouvel ensemble de lignes un symbole de traçage unique afin que dans tous les tracés que vous générez, vous sachiez que ce sont les « nouvelles » lignes. La colonne « prédit » sera remplie avec les valeurs des prédicteurs « test », puis j'utiliserais simplement Graph Builder pour les valeurs réelles par rapport aux valeurs prédites et je verrais ce que vous voyez. Peut-être mettre en place un filtre de données local pour les lignes utilisées dans la « formation » et le « test » ?
Re : Utilisation des données de validation sur un arbre boostéCela semble un peu déroutant, mais j'essaierai la semaine prochaine lorsque je serai de retour en ligne.
merci.
Re : Utilisation des données de validation sur un arbre boostéAh !
Re : Utilisation des données de validation sur un arbre boostéQ rapide : J'ai un ensemble de données de test complètement séparé. Est-ce que je le combine avec
l'ensemble de données d'origine (c'est-à-dire l'ajouter) - pour ensuite l'exécuter dans mon modèle ?
Si je fais cela, dois-je coder en dur/créer une colonne de validation avec 1 pour le test
et des 0 pour la formation (ou la validation) pour que le modèle l'exécute ? je ne le suis pas trop
tient à créer la "formule" - parce qu'elle semble trop grande pour le
programme à gérer. Cette réflexion a-t-elle un sens ?
Je veux vraiment juste pouvoir exécuter l'ensemble TEST à partir du modèle et ne pas le faire.
je sais très bien comment. (De plus, j'y travaillerai la semaine prochaine (pas cette semaine,
malheureusement) - puisque je rends visite à de la famille.
Mes remerciements
Re : Utilisation des données de validation sur un arbre boostéUne petite précision supplémentaire à ajouter @dale_lehman La deuxième réponse de. Il a raison de déclarer que lorsque vous créez une colonne utilisée pour la spécification de la catégorie de validation de ligne, c'est-à-dire une colonne de validation, tout sera géré automatiquement par la plateforme d'analyse lorsque vous exécuterez la plateforme. Les résultats seront inclus dans les différents éléments du rapport de la plateforme pour les sous-ensembles de données de formation, de validation et de test. La partie que Dale a laissée de côté était lorsque vous créez cette colonne de validation, vous devez articuler dans la boîte de dialogue que vous souhaitez créer les trois catégories, formation, validation et test ainsi que la méthode par laquelle chaque ligne est attribuée. On dirait que vous avez un assez grand nombre d'observations, donc une assignation purement aléatoire est probablement un bon point de départ.
Re : Utilisation des données de validation sur un arbre boostéVotre réponse ne m'aide pas, mais merci.
Re : Utilisation des données de validation sur un arbre boostéLe dépistage par prédicteurs est une bonne première étape pour comprendre quelles variables sont importantes. Voir le script de l'index des scripts pour comprendre son fonctionnement.
Je ferais d'abord un échantillonnage du tableau d'origine pour réduire le nombre de lignes (menu principal : Tableaux->sous-ensemble …)
Avec ce sous-ensemble, vous pouvez essayer plusieurs choses en peu de temps, enregistrer les scripts pour les idées prometteuses et les appliquer ultérieurement au grand ensemble de données.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = dt << Predictor Screening( Y( :chas ), X( :crim, :indus, :nox, :rooms, :age, :distance, :radial ) );
Re : Utilisation des données de validation sur un arbre boostéSi vous créez la colonne de validation à l'aide de la fonction de la plateforme de modélisation prédictive, JMP exécute automatiquement votre modèle sur les données de formation, de validation et de test.Vous n’avez donc rien d’autre à faire.Maintenant, vos commentaires sur les problèmes d'exécution de votre modèle sont une autre affaire - il semble qu'il y ait des problèmes avec le modèle, et je soupçonne que le fait d'avoir 800 variables dans votre modèle reflète quelque chose qui doit être corrigé.Je chercherais des moyens de réduire le nombre de fonctionnalités.
Re : Utilisation des données de validation sur un arbre boostéJe vais essayer ça.
Cependant, étant donné la taille du modèle, la formule de prédiction ne semblait même pas fonctionner du tout – elle semble bloquer le programme. Enfin, quand je veux vraiment exécuter les données de test, comment puis-je les exécuter ?? Merci beaucoup - ksfire1
Re : Utilisation des données de validation sur un arbre boostéJe ne comprends pas votre question.Si vous disposez d'une colonne de validation et que vous la placez dans la zone Validation, les résultats du modèle pour les données de validation sont rapportés.Je partage l’opinion selon laquelle vous souhaiterez peut-être un modèle plus simple et que vous devriez essayer différents modèles.J'ajouterais que vous souhaiterez peut-être mettre de côté 10 % des données comme données de test, car les données de validation sont utilisées dans la construction du modèle et il existe un risque de surajustement, en particulier avec 800 variables dans votre modèle.Je suggère donc de diviser vos données en ensembles de données de formation, de validation et de test, d'exécuter une variété de modèles et d'utiliser la fonction de comparaison de modèles pour voir comment les modèles fonctionnent sur les données de test.Cette comparaison doit être automatisée une fois que vous avez enregistré les formules de prédiction de tous vos modèles.
Re : Utilisation des données de validation sur un arbre boostéAvec la formule, tout serait facile. As-tu essayé? Que s'est-il passé?
Je suppose que vous utilisez JMP Pro.
Avez-vous essayé de construire un modèle moins complexe ? Avez-vous essayé le Predictor Screening ou d’autres techniques de réduction variable ? Ou d'autres techniques de modélisation ?
Pour avoir le meilleur modèle, il aurait fallu comparer différentes techniques/ensembles de variables.