Veröffentlicht am :

Scoring neuer Daten mit einem bestehenden Forest-Modell

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Beispiel zeigt, wie die FOREST-Prozedur mit der Option OUTMODEL= verwendet werden kann, um ein trainiertes Modell zu speichern. Dieses Modell kann dann über die Option INMODEL= geladen werden, um neue Beobachtungen zu bewerten (zu 'scoren'). Es ist entscheidend, die Tabelle des gespeicherten Modells nicht zu ändern, um die Gültigkeit der Scores zu gewährleisten. Das Beispiel verwendet den JunkMail-Datensatz aus der Sashelp-Bibliothek, um E-Mails basierend auf 57 Prädiktorvariablen als Spam (1) oder Nicht-Spam (0) zu klassifizieren. Die Kompatibilität mit SAS© Viya 4 wird durch die Verwendung von CAS-Bibliotheken sichergestellt.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden den Sashelp.JunkMail-Datensatz, der für die Ausführung der Prozeduren in eine temporäre CAS-Tabelle namens mycas.junkmail geladen wird.

1 Codeblock
PROC FOREST Data
Erklärung :
Dieses Beispiel initialisiert eine CAS-Sitzung und lädt den 'JunkMail'-Datensatz von Sashelp in eine CAS-Tabelle namens 'mycas.junkmail'. Anschließend wird ein grundlegendes Zufallswaldmodell unter Verwendung der FOREST-Prozedur mit Standardparametern trainiert, abgesehen von einem Seed für die Reproduzierbarkeit. Die Anpassungsstatistiken des Modells werden gespeichert und angezeigt.
Kopiert!
1caslib _all_ assign;
2 
3/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4DATA mycas.junkmail;
5 SET sashelp.junkmail;
6RUN;
7 
8/* Entraîner un modèle Forest de base */
9PROC FOREST DATA=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;
19RUN;
20 
21/* Afficher les statistiques d'ajustement */
22PROC PRINT DATA=basic_fit_stats;
23RUN;
2 Codeblock
PROC FOREST
Erklärung :
Dieses Beispiel erweitert den grundlegenden Anwendungsfall durch die Integration von Baumwachstumsoptionen (NODESIZE und MAXDEPTH) zur Steuerung der Baumkomplexität. Es verwendet auch die Kreuzvalidierung (CROSSVALIDATION CV=5), um die Modellleistung robuster zu bewerten. Die vorhergesagten Scores werden gespeichert und die ersten Beobachtungen angezeigt.
Kopiert!
1caslib _all_ assign;
2 
3/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4DATA mycas.junkmail;
5 SET sashelp.junkmail;
6RUN;
7 
8/* Entraîner un modèle Forest avec validation croisée et options d'arbre */
9PROC FOREST DATA=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 */
20 OUTPUT out=mycas.forest_cv_scores predicted_class;
21 ods OUTPUT FitStatistics=cv_fit_stats;
22RUN;
23 
24/* Afficher les premières observations des scores de validation croisée */
25PROC PRINT DATA=mycas.forest_cv_scores (obs=10);
26RUN;
3 Codeblock
PROC FOREST
Erklärung :
Dieses fortgeschrittene Beispiel verwendet die FOREST-Prozedur, um ein Modell zu trainieren und dabei eine Variablenauswahl basierend auf deren Bedeutung (SELECTION METHOD=VARIABLEIMPORTANCE) durchzuführen. Die IMPORTANCE-Anweisung wird hinzugefügt, um die Beiträge jeder Variable zum Modell anzuzeigen. Die vorhergesagten Scores werden gespeichert und die Variablenbedeutung wird in einer separaten Tabelle angezeigt.
Kopiert!
1caslib _all_ assign;
2 
3/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4DATA mycas.junkmail;
5 SET sashelp.junkmail;
6RUN;
7 
8/* Entraîner un modèle Forest avec sélection de variables et importance */
9PROC FOREST DATA=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 */
20 OUTPUT out=mycas.forest_importance_scores predicted_class;
21 ods OUTPUT FitStatistics=importance_fit_stats VariableImportance=var_importance_table;
22RUN;
23 
24/* Afficher l'importance des variables */
25PROC PRINT DATA=var_importance_table;
26RUN;
27 
28/* Afficher les premières observations des scores */
29PROC PRINT DATA=mycas.forest_importance_scores (obs=10);
30RUN;
4 Codeblock
PROC FOREST
Erklärung :
Dieses Beispiel, wie in der Dokumentation dargestellt, zeigt den vollständigen Prozess des Speicherns und Wiederverwendens eines Modells. Zuerst wird ein Modell auf 'mycas.junkmail' trainiert und mit der Option OUTMODEL= in 'mycas.forest_model' gespeichert. Anschließend wird dieses gespeicherte Modell über die Option INMODEL= geladen, um die 'neuen' Daten zu bewerten (in diesem Beispiel werden dieselben Daten zu Demonstrationszwecken verwendet). Die vorhergesagten Scores werden in 'mycas.score_later' gespeichert und die ersten Beobachtungen angezeigt, was die Fähigkeit zur Anwendung eines vorab trainierten Modells demonstriert.
Kopiert!
1caslib _all_ assign;
2 
3/* Charger le jeu de données Sashelp.JunkMail dans une table CAS temporaire */
4DATA mycas.junkmail;
5 SET sashelp.junkmail;
6RUN;
7 
8/* Entraîner un modèle Forest et le sauvegarder (première exécution) */
9PROC FOREST DATA=mycas.junkmail outmodel=mycas.forest_model seed=12345;
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 OUTPUT out=mycas.score_at_runtime predicted_class;
19RUN;
20 
21/* Utiliser le modèle sauvegardé pour scorer de nouvelles données (ici, les mêmes données pour démonstration) */
22/* (Simule le scoring de 'nouvelles' données à un moment ultérieur ou sur un autre jeu de données) */
23PROC FOREST DATA=mycas.junkmail inmodel=mycas.forest_model;
24 OUTPUT out=mycas.score_later predicted_class;
25RUN;
26 
27/* Afficher les premières observations des données scorées */
28PROC PRINT DATA=mycas.score_later (obs=10);
29RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All rights reserved.