Les exemples utilisent le jeu de données Sashelp.JunkMail, qui est chargé dans une table CAS temporaire nommée mycas.junkmail pour l'exécution des procédures.
1 Bloc de code
PROC FOREST Data
Explication : Cet exemple initialise une session CAS et charge le jeu de données 'JunkMail' de Sashelp dans une table CAS nommée 'mycas.junkmail'. Il entraîne ensuite un modèle de forêt aléatoire de base en utilisant la procédure FOREST avec les paramètres par défaut, à l'exception d'une graine pour la reproductibilité. Les statistiques d'ajustement du modèle sont sauvegardées et affichées.
Copié !
caslib _all_ assign;
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
data mycas.junkmail;
set sashelp.junkmail;
run;
/* Entraîner un modèle Forest de base */
proc forest data=mycas.junkmail seed=54321;
input Address Addresses All Bracket Business CS CapAvg CapLong
CapTotal Conference Credit Data Direct Dollar Edu Email
Exclamation Font Free George HP HPL Internet Lab Labs
Mail Make Meeting Money Order Original Our Over PM Paren
Parts People Pound Project RE Receive Remove Semicolon
Table Technology Telnet Will You Your _000 _85 _415 _650
_857 _1999 _3D / level = interval;
target class /level=nominal;
ods output FitStatistics=basic_fit_stats;
run;
/* Afficher les statistiques d'ajustement */
proc print data=basic_fit_stats;
run;
1
caslib _all_ assign;
2
3
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4
DATA mycas.junkmail;
5
SET sashelp.junkmail;
6
RUN;
7
8
/* Entraîner un modèle Forest de base */
9
PROC FORESTDATA=mycas.junkmail seed=54321;
10
INPUT Address Addresses All Bracket Business CS CapAvg CapLong
11
CapTotal Conference Credit DATA Direct Dollar Edu Email
12
Exclamation Font Free George HP HPL Internet Lab Labs
13
Mail Make Meeting Money Order Original Our Over PM Paren
14
Parts People Pound Project RE Receive Remove Semicolon
15
TABLE Technology Telnet Will You Your _000 _85 _415 _650
16
_857 _1999 _3D / level = interval;
17
target class /level=nominal;
18
ods OUTPUT FitStatistics=basic_fit_stats;
19
RUN;
20
21
/* Afficher les statistiques d'ajustement */
22
PROC PRINTDATA=basic_fit_stats;
23
RUN;
2 Bloc de code
PROC FOREST
Explication : Cet exemple étend le cas d'utilisation basique en intégrant des options de croissance des arbres (NODESIZE et MAXDEPTH) pour contrôler la complexité des arbres. Il utilise également la validation croisée (CROSSVALIDATION CV=5) pour évaluer la performance du modèle de manière plus robuste. Les scores prédits sont sauvegardés et les premières observations sont affichées.
Copié !
caslib _all_ assign;
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
data mycas.junkmail;
set sashelp.junkmail;
run;
/* Entraîner un modèle Forest avec validation croisée et options d'arbre */
proc forest data=mycas.junkmail seed=67890;
input Address Addresses All Bracket Business CS CapAvg CapLong
CapTotal Conference Credit Data Direct Dollar Edu Email
Exclamation Font Free George HP HPL Internet Lab Labs
Mail Make Meeting Money Order Original Our Over PM Paren
Parts People Pound Project RE Receive Remove Semicolon
Table Technology Telnet Will You Your _000 _85 _415 _650
_857 _1999 _3D / level = interval;
target class /level=nominal;
grow nodesize=5 maxdepth=10; /* Options courantes pour la croissance des arbres */
crossvalidation cv=5; /* Validation croisée à 5 plis */
output out=mycas.forest_cv_scores predicted_class;
ods output FitStatistics=cv_fit_stats;
run;
/* Afficher les premières observations des scores de validation croisée */
proc print data=mycas.forest_cv_scores (obs=10);
run;
1
caslib _all_ assign;
2
3
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4
DATA mycas.junkmail;
5
SET sashelp.junkmail;
6
RUN;
7
8
/* Entraîner un modèle Forest avec validation croisée et options d'arbre */
9
PROC FORESTDATA=mycas.junkmail seed=67890;
10
INPUT Address Addresses All Bracket Business CS CapAvg CapLong
11
CapTotal Conference Credit DATA Direct Dollar Edu Email
12
Exclamation Font Free George HP HPL Internet Lab Labs
13
Mail Make Meeting Money Order Original Our Over PM Paren
14
Parts People Pound Project RE Receive Remove Semicolon
15
TABLE Technology Telnet Will You Your _000 _85 _415 _650
16
_857 _1999 _3D / level = interval;
17
target class /level=nominal;
18
grow nodesize=5 maxdepth=10; /* Options courantes pour la croissance des arbres */
19
crossvalidation cv=5; /* Validation croisée à 5 plis */
/* Afficher les premières observations des scores de validation croisée */
25
PROC PRINTDATA=mycas.forest_cv_scores (obs=10);
26
RUN;
3 Bloc de code
PROC FOREST
Explication : Cet exemple avancé utilise la procédure FOREST pour entraîner un modèle tout en effectuant une sélection de variables basée sur leur importance (SELECTION METHOD=VARIABLEIMPORTANCE). L'instruction IMPORTANCE est ajoutée pour afficher les contributions de chaque variable au modèle. Les scores prédits sont sauvegardés et l'importance des variables est affichée dans une table séparée.
Copié !
caslib _all_ assign;
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
data mycas.junkmail;
set sashelp.junkmail;
run;
/* Entraîner un modèle Forest avec sélection de variables et importance */
proc forest data=mycas.junkmail seed=98765;
input Address Addresses All Bracket Business CS CapAvg CapLong
CapTotal Conference Credit Data Direct Dollar Edu Email
Exclamation Font Free George HP HPL Internet Lab Labs
Mail Make Meeting Money Order Original Our Over PM Paren
Parts People Pound Project RE Receive Remove Semicolon
Table Technology Telnet Will You Your _000 _85 _415 _650
_857 _1999 _3D / level = interval;
target class /level=nominal;
selection method=variableimportance; /* Sélection de variables basée sur l'importance */
importance; /* Demander l'affichage de l'importance des variables */
output out=mycas.forest_importance_scores predicted_class;
ods output FitStatistics=importance_fit_stats VariableImportance=var_importance_table;
run;
/* Afficher l'importance des variables */
proc print data=var_importance_table;
run;
/* Afficher les premières observations des scores */
proc print data=mycas.forest_importance_scores (obs=10);
run;
1
caslib _all_ assign;
2
3
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4
DATA mycas.junkmail;
5
SET sashelp.junkmail;
6
RUN;
7
8
/* Entraîner un modèle Forest avec sélection de variables et importance */
9
PROC FORESTDATA=mycas.junkmail seed=98765;
10
INPUT Address Addresses All Bracket Business CS CapAvg CapLong
11
CapTotal Conference Credit DATA Direct Dollar Edu Email
12
Exclamation Font Free George HP HPL Internet Lab Labs
13
Mail Make Meeting Money Order Original Our Over PM Paren
14
Parts People Pound Project RE Receive Remove Semicolon
15
TABLE Technology Telnet Will You Your _000 _85 _415 _650
16
_857 _1999 _3D / level = interval;
17
target class /level=nominal;
18
selection method=variableimportance; /* Sélection de variables basée sur l'importance */
19
importance; /* Demander l'affichage de l'importance des variables */
Explication : Cet exemple, tel que présenté dans la documentation, montre le processus complet de sauvegarde et de réutilisation d'un modèle. D'abord, un modèle est entraîné sur 'mycas.junkmail' et sauvegardé à l'aide de l'option OUTMODEL= dans 'mycas.forest_model'. Ensuite, ce modèle sauvegardé est chargé via l'option INMODEL= pour scorer les 'nouvelles' données (dans cet exemple, les mêmes données sont utilisées à des fins de démonstration). Les scores prédits sont sauvegardés dans 'mycas.score_later' et les premières observations sont affichées, illustrant la capacité à appliquer un modèle pré-entraîné.
Copié !
caslib _all_ assign;
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
data mycas.junkmail;
set sashelp.junkmail;
run;
/* Entraîner un modèle Forest et le sauvegarder (première exécution) */
proc forest data=mycas.junkmail outmodel=mycas.forest_model seed=12345;
input Address Addresses All Bracket Business CS CapAvg CapLong
CapTotal Conference Credit Data Direct Dollar Edu Email
Exclamation Font Free George HP HPL Internet Lab Labs
Mail Make Meeting Money Order Original Our Over PM Paren
Parts People Pound Project RE Receive Remove Semicolon
Table Technology Telnet Will You Your _000 _85 _415 _650
_857 _1999 _3D / level = interval;
target class /level=nominal;
output out=mycas.score_at_runtime predicted_class;
run;
/* Utiliser le modèle sauvegardé pour scorer de nouvelles données (ici, les mêmes données pour démonstration) */
/* (Simule le scoring de 'nouvelles' données à un moment ultérieur ou sur un autre jeu de données) */
proc forest data=mycas.junkmail inmodel=mycas.forest_model;
output out=mycas.score_later predicted_class;
run;
/* Afficher les premières observations des données scorées */
proc print data=mycas.score_later (obs=10);
run;
1
caslib _all_ assign;
2
3
/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4
DATA mycas.junkmail;
5
SET sashelp.junkmail;
6
RUN;
7
8
/* Entraîner un modèle Forest et le sauvegarder (première exécution) */
/* Afficher les premières observations des données scorées */
28
PROC PRINTDATA=mycas.score_later (obs=10);
29
RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.