decisionTree

gbtreeCode

##set_decisiontree

Description

L'action gbtreeCode est l'outil de traduction ultime pour vos modèles 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.. Elle permet de générer du code SAS DATA stepBloc de programmation SAS itératif utilisé pour lire, transformer et manipuler des données ligne par ligne afin de créer des tables de sortie personnalisées et calculer de nouvelles variables. à partir d'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). entraîné. C'est un peu comme transformer un cerveau complexe en un manuel d'instructions étape par étape que n'importe quel environnement SAS peut comprendre, même sans la puissance de CAS. C'est idéal pour le déploiement en production ou pour auditer exactement comment vos arbres prennent leurs décisions (si vous avez le courage de lire des milliers de lignes de IF/THEN) !

Syntaxe Officielle
decisionTree.gbtreeCode /
code={casOut={caslib="string", name="table-name", replace=True|False}, comment=True|False, fmtWdth=integer, indentSize=integer, labelId=integer, lineSize=integer, noTrim=True|False, tabForm=True|False},
encodeName=True|False,
modelTable={caslib="string", name="table-name", where="expression"}

Paramètres Clés

Nom du paramètre Description
code Un dictionnaire de paramètres qui définit comment le code DATA step doit être généré (formatage, commentaires, ou sauvegarde dans une table CAS via casOut).
encodeName Un booléen qui, s'il est vrai, utilise des noms de variables simplifiés (comme P_ au lieu de _DT_P_) pour les probabilités prédites. Pratique pour garder un code propre et lisible.
modelTable Indique la table CAS contenant le modèle de Gradient Boosting (GBTree) préalablement entraîné que vous souhaitez convertir en code.

Préparation des données

Préparation d'un modèle Gradient Boosting

Avant de générer du code, nous devons entraîner un modèle sur les données HMEQ (Home Equity).

1PROC CAS;
2 SESSION mysess;
3 /* Chargement des données de test */
4 TABLE.loadTable / path="hmeq.sashdat", caslib="casuser", casout={name="hmeq", replace=true};
5 /* Entraînement du modèle */
6 decisionTree.gbtreeTrain /
7 TABLE={name="hmeq"},
8 target="BAD",
9 inputs={"LOAN", "MORTDUE", "VALUE"},
10 nominals={"BAD"},
11 casOut={name="gradboost_model", replace=true};
12RUN;

Exemples d'utilisation

Génération simple de code dans le journal

Cet exemple affiche le code DATA step généré directement dans les résultats ou le journal SAS Studio.

1PROC CAS; decisionTree.gbtreeCode / modelTable={name="gradboost_model"}; RUN;
Résultat Attendu :
Le journal SAS affiche le bloc de code DATA step commençant par 'if ... then ...' calculant les scores du modèle.
Sauvegarde du code dans une table CAS avec formatage personnalisé

Ici, on demande à SAS de ranger soigneusement son code dans une table CAS nommée 'mon_code_scoring' avec une indentation spécifique.

1PROC CAS; decisionTree.gbtreeCode / modelTable={name="gradboost_model"}, encodeName=true, code={casOut={name="mon_code_scoring", replace=true}, indentSize=4, comment=true}; RUN;
Résultat Attendu :
Une nouvelle table CAS 'mon_code_scoring' est créée, contenant chaque ligne du code de scoring comme une observation, prête à être extraite ou utilisée.