decisionTree

forestTrain

##set_decisiontree

Description

L'action forestTrain permet d'entraîner un modèle  de forêt aléatoire  (Random Forest) au sein de l'environnement SAS Viya

L'action forestTrain permet d'entraîner 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 forêt aléatoireAlgorithme d'apprentissage supervisé combinant plusieurs arbres de décision indépendants pour améliorer la précision et réduire le surapprentissage par agrégation de leurs prédictions. (Random ForestAlgorithme d'apprentissage supervisé combinant plusieurs arbres de décision indépendants pour améliorer la précision et réduire le surapprentissage via le bagging et la sélection aléatoire.) au sein de l'environnement SAS Viya . Elle construit une multitude d'arbres de décision indépendants et combine leurs résultats pour améliorer la robustesse et la précision des prédictions. C'est l'outil idéal pour éviter le surapprentissage (overfittingSurapprentissage d'un modèle mémorisant le bruit des données d'entraînement au lieu des tendances, réduisant ainsi sa capacité de généralisation et sa précision sur de nouvelles observations.) : parce qu'un seul arbre peut se tromper, mais une forêt a souvent raison ! Cette action nécessite impérativement une licence SAS Visual Data Mining and Machine LearningBranche de l'IA utilisant des algorithmes pour apprendre des modèles à partir de données. Il permet d'automatiser des prédictions ou des décisions sans programmation explicite de chaque règle. .

Syntaxe Officielle
decisionTree.forestTrain /
alpha=double,
applyRowOrder=boolean,
attributes={{casinvardesc}},
binOrder=boolean,
bootstrap=double,
casOut={casouttable},
cfLev=double,
code={codegen},
codeInteractions={viicodegen},
crit="CHAID" | "CHISQUARE" | "FTEST" | "GAIN" | "GAINRATIO" | "GINI" | "VARIANCE",
encodeName=boolean,
event={"string"},
eventFreq={double},
freq="variable-name",
greedy=boolean,
includeMissing=boolean,
inputs={{casinvardesc}},
isolation=boolean,
leafSize=integer,
loh=integer,
m=integer,
maxBranch=integer,
maxLevel=integer,
mergeBin=boolean,
minUseInSearch=integer,
missing="MACSMALL" | "USEINSEARCH",
modelId="string",
nBins=integer,
nBinsTarget=integer,
nominals={{casinvardesc}},
nominalSearch={tkcasdt_nomSearchOpts},
nTree=integer,
oob=boolean,
prune=boolean,
quantileBin=boolean,
rbaImp=boolean,
sampleN=double,
saveState={casouttable},
seed=double,
table={castable},
target="variable-name",
varImp=boolean,
varIntImp=integer,
vote="MAJORITY" | "PROB",
weight="variable-name"

Paramètres Clés

Nom du paramètre Description
table Spécifie la table d'entrée CAS contenant les données d'entraînement .
target Nom de la variable cible (réponse) à prédire .
inputs Liste des variables prédictives utilisées pour entraîner le modèle.
nominals Liste des variables qui doivent être traitées comme catégorielles (nominales).
nTree Nombre total d'arbres à construire dans la forêt (par défaut 50).
m Nombre de variables sélectionnées aléatoirement à chaque nœud pour chercher la meilleure division.
seed Valeur entière pour initialiser le générateur de nombres aléatoires et garantir la reproductibilité.
oob Si positionné sur True, calcule l'erreur 'Out-Of-Bag' pour évaluer la performance sur les données non utilisées pendant le bootstrap.
saveState Spécifie la table de sortie pour sauvegarder le modèle au format Analytic Store (binary), utilisable pour le scoring haute performance .

Préparation des données

Préparation des données HMEQ

Chargement de la table de données HMEQ (Home Equity) souvent utilisée pour les exemples de risque de crédit.

1DATA casuser.hmeq; SET sampsio.hmeq; RUN; PROC CAS; TABLE.loadTable / caslib="casuser", path="hmeq.sas7bdat", casOut={name="hmeq", replace=true}; RUN; QUIT;

Exemples d'utilisation

Entraînement de base d'une forêt

Exemple minimal pour entraîner une forêt sur la cible BAD avec quelques variables explicatives.

1PROC CAS; decisionTree.forestTrain / TABLE={name="hmeq"}, target="BAD", inputs={"LOAN", "MORTDUE", "VALUE"}, nominals={"BAD"}, casOut={name="forest_model", replace=true}; RUN; QUIT;
Résultat Attendu :
Un modèle de forêt est créé dans la table 'forest_model' et des rapports sur l'importance des variables s'affichent.
Forêt avancée avec sauvegarde aStore et Importance RBA

Entraînement d'une forêt robuste avec 100 arbres, calcul de l'importance RBA, évaluation OOB et sauvegarde du modèle en format binaire aStore.

1PROC CAS; decisionTree.forestTrain / TABLE={name="hmeq", where="REASON ne ''"}, target="BAD", inputs={"LOAN", "MORTDUE", "VALUE", "REASON", "JOB", "CLAGE"}, nominals={"BAD", "REASON", "JOB"}, nTree=100, m=4, seed=12345, oob=true, varImp=true, rbaImp=true, saveState={name="forest_astore", replace=true}, casOut={name="forest_table_model", replace=true}; RUN; QUIT;
Résultat Attendu :
Entraînement complexe avec 100 arbres. Le modèle est disponible en table CAS classique et en format aStore pour un déploiement futur.