forestScore
Description
L'action forestScore permet de réaliser des prédictions (scoringProcessus d'application d'un modèle prédictif à de nouvelles données pour calculer une probabilité ou un score, permettant ainsi d'automatiser la prise de décision en temps réel sur SAS Viya.) sur une table de données en utilisant 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. précédemment entraîné. Contrairement à un arbre de décision uniqueModèle prédictif segmentant les données en groupes homogènes par une série de règles binaires successives, facilitant l'interprétation visuelle des décisions et des interactions entre variables., la forêt combine les votes de plusieurs arbres pour produire une prédiction plus robuste et moins sensible au surapprentissage. C'est un peu comme demander l'avis de tout le village plutôt que celui d'un seul ermite au fond des bois ! Cette action calcule automatiquement le taux d'erreur de classification pour les cibles nominales ou l'erreur quadratique moyenne (MSE) pour les cibles continues.
Paramètres Clés
Préparation des données
Préparation d'un modèle de forêt pour le scoring
Ce code crée une table de données fictive sur l'attrition (churn) et entraîne un modèle de forêt pour permettre l'utilisation ultérieure de forestScore.
| 1 | DATA casuser.churn_data; |
| 2 | INPUT id income gender $ churn; |
| 3 | DATALINES; |
| 4 | 1 50000 M 0 |
| 5 | 2 65000 F 0 |
| 6 | 3 20000 M 1 |
| 7 | 4 100000 F 0 |
| 8 | 5 15000 M 1 |
| 9 | 6 45000 F 0 |
| 10 | 7 30000 M 1 |
| 11 | 8 80000 F 0 |
| 12 | ; |
| 13 | RUN; |
| 14 | PROC CAS; |
| 15 | /* Entraînement préalable indispensable */ |
| 16 | decisionTree.forestTrain / |
| 17 | TABLE={name="churn_data", caslib="casuser"}, |
| 18 | target="churn", |
| 19 | inputs={"income", "gender"}, |
| 20 | seed=1234, |
| 21 | casOut={name="forest_model_churn", replace=true}; |
| 22 | RUN; |
Exemples d'utilisation
Scoring de base avec statistiques d'erreur
Exécute le scoring sans table de sortie pour obtenir rapidement le taux d'erreur sur les données fournies.
| 1 | PROC CAS; |
| 2 | decisionTree.forestScore / |
| 3 | modelTable={name="forest_model_churn", caslib="casuser"}, |
| 4 | TABLE={name="churn_data", caslib="casuser"}; |
| 5 | RUN; |
Résultat Attendu :
Scoring complet avec export des probabilités et conservation d'ID
Ici, on génère une table de résultats incluant l'identifiant d'origine, les probabilités de chaque classe, et on utilise la moyenne des probabilités pour la décision finale.
| 1 | PROC CAS; |
| 2 | decisionTree.forestScore / |
| 3 | modelTable={name="forest_model_churn", caslib="casuser"}, |
| 4 | TABLE={name="churn_data", caslib="casuser"}, |
| 5 | casOut={name="churn_scored_results", replace=true, label="Resultats Scoring Foret"}, |
| 6 | copyVars={"id", "income"}, |
| 7 | vote="PROB", |
| 8 | assess=true, |
| 9 | treeVotes=true; |
| 10 | RUN; |
| 11 | /* Visualisation des resultats */ |
| 12 | PROC PRINT DATA=casuser.churn_scored_results(obs=5); RUN; |