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
applyRowOrderIndique s'il faut utiliser un ordre de lignes pré-spécifié (nécessite orderby/groupby préalables) pour la reproductibilité.
assessSi 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.
assessOneRowSi 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_).
casOutSpécifie la table de sortie où enregistrer les résultats du scoring. Si omis, l'action calcule seulement les statistiques d'erreur.
copyVarsSpécifie une liste de variables à copier de la table d'entrée vers la table de sortie.
encodeNameSi défini à Vrai, encode les noms de variables de probabilité (ex: utilise le préfixe P_ au lieu de _DT_P_).
imputeSpécifie le traitement des observations où la cible n'est pas manquante. Si Vrai, la valeur observée est utilisée comme prédiction.
includeMissingSi défini à Faux, les observations ayant des valeurs manquantes pour les variables du modèle sont ignorées.
isolationGénère des scores d'isolation (souvent utilisé pour la détection d'anomalies).
modelIdSpécifie le nom de la variable d'identifiant du modèle.
modelTableSpécifie la table CAS contenant le modèle de forêt (issue de l'action forestTrain).
nTreeSpécifie le nombre d'arbres à utiliser pour le scoring (par défaut, tous les arbres).
rbaImpDemande le calcul de l'importance des variables par la méthode d'affectation aléatoire des branches (RBA).
seedSpécifie la graine (seed) pour le générateur de nombres aléatoires.
tableSpécifie la table d'entrée contenant les données à noter.
targetSpécifie le nom de la variable cible (si différente de celle du modèle).
treeErrorSi défini à Vrai, l'erreur est calculée pour chaque arbre individuel.
treeVotesEnrichit la table de sortie avec les informations sur les votes de chaque arbre individuel.
varIntImpDemande le calcul de l'importance des interactions de variables et spécifie le degré maximum (0-3).
voteSpé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 ?