Publicado el :
Modelado predictivo CREATION_INTERNE

Puntuación de nuevos datos con un modelo Forest existente

Este código también está disponible en: Deutsch English Français
En espera de validación
El ejemplo muestra cómo el procedimiento FOREST puede usarse con la opción OUTMODEL= para guardar un modelo entrenado. Este modelo puede luego cargarse a través de la opción INMODEL= para puntuar nuevas observaciones. Es crucial no modificar la tabla del modelo guardado para garantizar la validez de las puntuaciones. El ejemplo utiliza el conjunto de datos JunkMail de la biblioteca Sashelp para clasificar correos electrónicos como spam (1) o no (0) basándose en 57 variables predictoras. La compatibilidad con SAS© Viya 4 está asegurada por el uso de las bibliotecas CAS.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan el conjunto de datos Sashelp.JunkMail, que se carga en una tabla CAS temporal llamada mycas.junkmail para la ejecución de los procedimientos.

1 Bloque de código
PROC FOREST Data
Explicación :
Este ejemplo inicializa una sesión CAS y carga el conjunto de datos 'JunkMail' de Sashelp en una tabla CAS llamada 'mycas.junkmail'. Luego entrena un modelo de bosque aleatorio básico usando el procedimiento FOREST con los parámetros predeterminados, excepto una semilla para la reproducibilidad. Las estadísticas de ajuste del modelo se guardan y se muestran.
¡Copiado!
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 Bloque de código
PROC FOREST
Explicación :
Este ejemplo amplía el caso de uso básico integrando opciones de crecimiento de árboles (NODESIZE y MAXDEPTH) para controlar la complejidad de los árboles. También utiliza la validación cruzada (CROSSVALIDATION CV=5) para evaluar el rendimiento del modelo de manera más robusta. Las puntuaciones predichas se guardan y se muestran las primeras observaciones.
¡Copiado!
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 Bloque de código
PROC FOREST
Explicación :
Este ejemplo avanzado utiliza el procedimiento FOREST para entrenar un modelo mientras realiza una selección de variables basada en su importancia (SELECTION METHOD=VARIABLEIMPORTANCE). Se añade la instrucción IMPORTANCE para mostrar las contribuciones de cada variable al modelo. Las puntuaciones predichas se guardan y la importancia de las variables se muestra en una tabla separada.
¡Copiado!
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 Bloque de código
PROC FOREST
Explicación :
Este ejemplo, tal como se presenta en la documentación, muestra el proceso completo de guardar y reutilizar un modelo. Primero, se entrena un modelo en 'mycas.junkmail' y se guarda usando la opción OUTMODEL= en 'mycas.forest_model'. Luego, este modelo guardado se carga a través de la opción INMODEL= para puntuar los 'nuevos' datos (en este ejemplo, se utilizan los mismos datos con fines de demostración). Las puntuaciones predichas se guardan en 'mycas.score_later' y se muestran las primeras observaciones, ilustrando la capacidad de aplicar un modelo preentrenado.
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Copyright © SAS Institute Inc. All rights reserved.