Entraîne un modèle de forêt aléatoire (Forest). Cette action construit un ensemble d'arbres de décision pour effectuer des tâches de classification ou de régression sur des données. Elle permet de gérer des paramètres avancés tels que l'échantillonnage bootstrap, la sélection aléatoire de variables à chaque nœud, et l'élagage. Cette action nécessite une licence SAS Visual Data Mining and Machine Learning.
| Paramètre | Description |
|---|---|
| alpha | Spécifie la valeur à utiliser pour l'élagage minimal de complexité de coût pour les arbres de régression. |
| applyRowOrder | Spécifie l'utilisation d'un ordre de lignes prédéfini (nécessite orderby/groupby dans table.partition). |
| attributes | Spécifie des attributs temporaires (format, label, etc.) à appliquer aux variables d'entrée. |
| binOrder | Par défaut (Vrai), l'ordre des compartiments est préservé pour les variables numériques. Si Faux, l'ordre est ignoré. |
| bootstrap | Spécifie la fraction des données utilisée pour l'échantillon bootstrap (valeur > 0 et <= 1). |
| casOut | Spécifie la table de sortie où stocker le modèle d'arbre de décision. |
| cfLev | Spécifie le niveau d'agressivité de l'élagage de l'arbre selon l'algorithme C4.5. |
| code | Demande la génération du code de scoring SAS. |
| codeInteractions | Demande la génération de code SAS pour créer des variables d'interaction (requiert varIntImp >= 2). |
| crit | Spécifie le critère de division pour chaque nœud (ex: GAIN, GINI, CHI2, VARIANCE). |
| encodeName | Spécifie s'il faut encoder les noms des variables générées (ex: probabilités) avec un préfixe simplifié. |
| event | Spécifie la valeur de l'événement de la variable cible pour le calcul des fréquences. |
| eventFreq | Spécifie la fréquence pour l'événement spécifié, utile pour l'échantillonnage d'événements rares. |
| freq | Variable numérique contenant la fréquence d'occurrence de chaque observation. |
| greedy | Par défaut (Vrai), utilise une recherche exhaustive. Si Faux, utilise un algorithme rapide basé sur le clustering. |
| includeMissing | Par défaut (Vrai), inclut les observations avec valeurs manquantes. Si Faux, elles sont ignorées. |
| inputs | Liste des variables d'entrée à utiliser pour l'entraînement. |
| isolation | Spécifie si l'on entraîne une forêt d'isolation (détection d'anomalies). |
| leafSize | Nombre minimum d'observations requises sur chaque nœud feuille. |
| loh | Nombre de variables à utiliser pour la division avec la méthode LOH. |
| m | Nombre de variables d'entrée candidates à considérer pour la division d'un nœud. |
| maxBranch | Nombre maximum de branches (enfants) autorisées par nœud. |
| maxLevel | Profondeur maximale de l'arbre. |
| mergeBin | Fusionne les compartiments adjacents si leurs valeurs limites correspondent. |
| minUseInSearch | Seuil d'observations manquantes pour déclencher la politique de recherche spécifique (avec missing='USEINSEARCH'). |
| missing | Politique de gestion des valeurs manquantes (MACSMALL ou USEINSEARCH). |
| modelId | Nom de la variable ID du modèle pour le code de scoring. |
| nBins | Nombre de compartiments pour les variables numériques. |
| nBinsTarget | Nombre de compartiments pour la variable cible numérique. |
| nominals | Liste des variables d'entrée à traiter comme nominales. |
| nominalSearch | Paramètres pour la méthode de recherche de division sur les variables nominales. |
| nTree | Nombre d'arbres à créer dans la forêt. |
| oob | Calcule l'erreur Out-Of-Bag (OOB) si activé. |
| prune | Active l'élagage des arbres (C4.5 ou coût-complexité). |
| quantileBin | Utilise des quantiles pour les limites de compartiments au lieu de largeurs égales. |
| rbaImp | Active le calcul de l'importance des variables par affectation aléatoire des branches (RBA). |
| sampleN | Spécifie la taille de l'échantillon pour le bootstrap. |
| saveState | Spécifie la table de sortie pour sauvegarder le modèle au format aStore. |
| seed | Graine pour le générateur de nombres aléatoires. |
| table | Spécifie la table d'entrée contenant les données d'entraînement. |
| target | Nom de la variable cible. |
| varImp | Génère les statistiques d'importance des variables. |
| varIntImp | Calcule l'importance des interactions de variables (spécifier le degré). |
| vote | Stratégie de vote pour la classification (MAJORITY ou PROB). |
| weight | Variable numérique contenant le poids des observations. |
Charge le jeu de données sashelp.cars dans la bibliothèque CAS utilisateur.
| 1 | PROC CAS; |
| 2 | dataTransfer.loadTable / |
| 3 | caslib="sashelp" |
| 4 | path="cars.sashdat" |
| 5 | casOut={name="cars", replace=true}; |
| 6 | RUN; |
Entraîne une forêt aléatoire pour prédire l'origine des véhicules en utilisant des variables numériques.
| 1 | PROC CAS; |
| 2 | decisionTree.forestTrain RESULT=r / |
| 3 | TABLE={name="cars"}, |
| 4 | target="Origin", |
| 5 | inputs={"MSRP", "Horsepower", "EngineSize", "Cylinders", "MPG_City"}, |
| 6 | nTree=50, |
| 7 | seed=12345; |
| 8 | RUN; |
Entraîne une forêt avec calcul de l'erreur OOB, importance des variables, et sauvegarde le modèle dans une table aStore pour un scoring ultérieur.
| 1 | PROC CAS; |
| 2 | decisionTree.forestTrain RESULT=r / |
| 3 | TABLE={name="cars"}, |
| 4 | target="Origin", |
| 5 | inputs={"MSRP", "Horsepower", "EngineSize", "Cylinders", "MPG_City", "Weight", "Wheelbase"}, |
| 6 | nominals={"Origin", "Cylinders"}, |
| 7 | nTree=100, |
| 8 | bootstrap=0.6, |
| 9 | oob=true, |
| 10 | varImp=true, |
| 11 | casOut={name="forest_model", replace=true}, |
| 12 | saveState={name="forest_astore", replace=true}, |
| 13 | seed=12345; |
| 14 | RUN; |