decisionTree

gbtreeScore

##set_decisiontree

Description

L'action gbtreeScore permet d'appliquer un modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting). de Gradient BoostingMéthode d'apprentissage itérative créant une suite d'arbres de décision. Chaque nouvel arbre corrige les erreurs de prédiction des précédents pour minimiser globalement la fonction de perte. (arbres de décision boostés) à une table de données pour générer des prédictions (scoringProcessus d'application d'un modèle prédictif à de nouvelles données pour calculer une probabilité ou un score, permettant ainsi d'automatiser la prise de décision en temps réel sur SAS Viya.). C'est l'étape où votre modèleReprésentation mathématique entraînée sur des données pour capturer des tendances, prédire des résultats ou classifier des observations via des algorithmes (Régression, Forêt aléatoire, Gradient Boosting)., après avoir durement appris de ses erreurs lors de l'entraînement, commence enfin à travailler pour vous ! . Que ce soit pour prédire si un client va rester ou pour estimer le prix d'une maison, cette action transforme vos données brutes en informations exploitables.

Syntaxe Officielle
decisionTree.gbtreeScore /
modelTable={caslib="nom_caslib", name="nom_table_modele"},
table={caslib="nom_caslib", name="nom_table_donnees"},
casOut={caslib="nom_caslib", name="nom_table_sortie", replace=true},
copyVars={"variable1", "variable2"},
nTree=nombre_arbres,
assess=true | false

Paramètres Clés

Nom du paramètre Description
modelTable Spécifie la table CAS qui contient le modèle de Gradient Boosting généré par l'action gbtreeTrain. C'est le cerveau de l'opération.
table Spécifie la table de données d'entrée à scorer. Elle doit contenir les mêmes variables d'entrée que celles utilisées pour l'entraînement.
casOut Spécifie la table de sortie pour stocker les résultats du scoring (prédictions). Si omis, l'action calcule uniquement les statistiques d'erreur.
copyVars Liste des variables de la table d'entrée à copier directement dans la table de sortie. Pratique pour garder l'identifiant du client à côté de sa probabilité de churn.
nTree Nombre d'arbres à utiliser pour le scoring. Par défaut, tous les arbres du modèle sont utilisés, mais vous pouvez en utiliser moins pour tester des modèles simplifiés.
assess Si activé (True), ajoute les probabilités prédites pour chaque niveau de l'événement dans la table de sortie, facilitant l'évaluation ultérieure (courbes ROC, etc.).
encodeName Permet de choisir le préfixe des noms de variables de probabilité prédite (P_ au lieu de _DT_P_).

Préparation des données

Préparation d'un modèle de Gradient Boosting

Ce code charge les données, entraîne un modèle de Gradient Boosting sur la table CARS pour prédire l'origine des véhicules, afin d'avoir un modèle prêt à être scoré.

1PROC CAS;
2 TABLE.loadTable / path="cars.sashdat" caslib="Samples" casout="cars";
3 decisionTree.gbtreeTrain / TABLE="cars" target="Origin" inputs={"Horsepower", "Weight", "MPG_City"} casOut={name="gb_model_cars", replace=true};
4RUN;

Exemples d'utilisation

Scoring basique

Applique le modèle pour générer des prédictions simples dans une nouvelle table.

1PROC CAS;
2 decisionTree.gbtreeScore / TABLE="cars" modelTable="gb_model_cars" casOut={name="cars_scored", replace=true};
3RUN;
Résultat Attendu :
Une table CAS nommée 'cars_scored' contenant les prédictions du modèle.
Scoring avancé avec évaluation et transfert de variables

Ici, on score en limitant à 50 arbres, on récupère les variables d'origine pour comparaison et on active les probabilités pour l'évaluation.

1PROC CAS;
2 decisionTree.gbtreeScore / TABLE="cars" modelTable="gb_model_cars" nTree=50 copyVars={"Make", "Model", "Origin"} assess=true encodeName=true casOut={name="cars_scored_advanced", replace=true};
3RUN;
Résultat Attendu :
Une table contenant les informations du véhicule, la classe prédite et les probabilités calculées par les 50 premiers arbres.