decisionTree

forestScore

Description

L'action forestScore permet de noter (scorer) une table en utilisant un modèle de forêt (forest model) préalablement entraîné. Elle génère des prédictions pour une variable cible (target) et peut produire une table de sortie contenant les résultats du scoring, ainsi que des statistiques d'ajustement et des probabilités.

decisionTree.forestScore <result=results> <status=rc> / applyRowOrder=TRUE | FALSE, assess=TRUE | FALSE, assessOneRow=TRUE | FALSE, casOut={casouttable}, copyVars={"variable-name-1" <, "variable-name-2", ...>}, encodeName=TRUE | FALSE, impute=TRUE | FALSE, includeMissing=TRUE | FALSE, isolation=TRUE | FALSE, modelId="string", * modelTable={castable}, nTree=integer, rbaImp=TRUE | FALSE, seed=double, * table={castable}, target="variable-name", treeError=TRUE | FALSE, treeVotes=TRUE | FALSE, varIntImp=integer, vote="MAJORITY" | "PROB";
Paramètres
ParamètreDescription
applyRowOrder Indique s'il faut utiliser un ordre de lignes pré-spécifié (nécessite orderby/groupby préalables) pour la reproductibilité.
assess Si défini à Vrai, ajoute les probabilités prédites à la table de résultats pour les niveaux d'événement, utilisables avec l'action assess.
assessOneRow Si défini à Vrai, ajoute les probabilités prédites pour tous les niveaux d'événement sous forme de colonnes séparées (préfixe _DT_P_).
casOut Spécifie la table de sortie où enregistrer les résultats du scoring. Si omis, l'action calcule seulement les statistiques d'erreur.
copyVars Spécifie une liste de variables à copier de la table d'entrée vers la table de sortie.
encodeName Si défini à Vrai, encode les noms de variables de probabilité (ex: utilise le préfixe P_ au lieu de _DT_P_).
impute Spécifie le traitement des observations où la cible n'est pas manquante. Si Vrai, la valeur observée est utilisée comme prédiction.
includeMissing Si défini à Faux, les observations ayant des valeurs manquantes pour les variables du modèle sont ignorées.
isolation Génère des scores d'isolation (souvent utilisé pour la détection d'anomalies).
modelId Spécifie le nom de la variable d'identifiant du modèle.
modelTable Spécifie la table CAS contenant le modèle de forêt (issue de l'action forestTrain).
nTree Spécifie le nombre d'arbres à utiliser pour le scoring (par défaut, tous les arbres).
rbaImp Demande le calcul de l'importance des variables par la méthode d'affectation aléatoire des branches (RBA).
seed Spécifie la graine (seed) pour le générateur de nombres aléatoires.
table Spécifie la table d'entrée contenant les données à noter.
target Spécifie le nom de la variable cible (si différente de celle du modèle).
treeError Si défini à Vrai, l'erreur est calculée pour chaque arbre individuel.
treeVotes Enrichit la table de sortie avec les informations sur les votes de chaque arbre individuel.
varIntImp Demande le calcul de l'importance des interactions de variables et spécifie le degré maximum (0-3).
vote Spécifie la stratégie de vote pour la classification : 'MAJORITY' (vote majoritaire) ou 'PROB' (probabilité moyenne).
Préparation des Données Voir la fiche de ce code dataprep
Préparation des données et du modèle

Charge les données HMEQ et entraîne un modèle de forêt aléatoire (requis pour utiliser forestScore ensuite).

Copié !
1 
2PROC CAS;
3 
4SESSION mysess;
5LOADACTIONSET "decisionTree";
6upload path="https://support.sas.com/documentation/onlinedoc/viya/exampledatasets/hmeq.csv" casout="hmeq";
7decisionTree.forestTrain / TABLE="hmeq" target="BAD" inputs={"LOAN", "MORTDUE", "VALUE", "REASON", "JOB"} nominals={"REASON", "JOB", "BAD"} casOut={name="forest_model" replace=true};
8 
9RUN;
10 

Exemples

Note la table HMEQ en utilisant le modèle 'forest_model' et affiche les statistiques d'erreur globale.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3decisionTree.forestScore / TABLE="hmeq" modelTable="forest_model";
4 
5RUN;
6 
Résultat :
Le journal affiche le taux de mauvaise classification (pour une cible nominale) ou l'erreur quadratique moyenne (pour une cible intervalle).

Génère une table de sortie 'scored_hmeq' contenant les prédictions, les probabilités (vote='PROB'), copie certaines variables, et active l'évaluation.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3decisionTree.forestScore / TABLE="hmeq" modelTable="forest_model" casOut={name="scored_hmeq", replace=true} copyVars={"LOAN", "REASON"} vote="PROB" assess=true encodeName=true;
4 
5RUN;
6 
Résultat :
Une table 'scored_hmeq' est créée avec les colonnes copiées et les probabilités prédites (P_BAD0, P_BAD1). Les métriques d'évaluation sont affichées.

FAQ

Quelle est la fonction principale de l'action forestScore ?
Quels sont les paramètres obligatoires pour exécuter cette action ?
Comment stocker les résultats du scoring dans une table de sortie ?
À quoi sert le paramètre 'assessOneRow' ?
Quel est l'effet du paramètre 'encodeName' ?
Comment obtenir le détail des votes de chaque arbre individuel ?
Comment les observations avec des valeurs manquantes sont-elles traitées par défaut ?
Quelles sont les stratégies de vote disponibles pour la classification ?