?> annCode - WeAreCAS
neuralNet

annCode

Descripción

La acción annCode genera código de puntuación del DATA step de SAS a partir de un modelo de red neuronal artificial entrenado previamente con la acción annTrain. Este código puede ser utilizado para puntuar nuevos datos en entornos SAS tradicionales, permitiendo la implementación del modelo fuera del entorno de CAS.

neuralNet.annCode { code={...}, listNode="ALL"|"HIDDEN"|"INPUT"|"OUTPUT", modelId="string", modelTable={...} };
Parámetros
ParámetroDescripción
codeSolicita que la acción produzca código de puntuación SAS. Este parámetro agrupa opciones para personalizar el código generado.
listNodeEspecifica los nodos que se incluirán en la tabla de salida puntuada. Útil para la auto-codificación y la reducción de dimensiones.
modelIdEspecifica un nombre de variable para la ID del modelo que se incluirá en el código de puntuación del DATA step generado.
modelTableEspecifica la tabla que contiene el modelo de red neuronal artificial que se utilizará para generar el código de puntuación.
Preparación de datos
Creación de Datos y Entrenamiento del Modelo de Red Neuronal

Este bloque de código carga datos en CAS, los prepara imputando valores faltantes y luego entrena un modelo de red neuronal. El modelo entrenado se guarda en una tabla CAS, que es un requisito previo para usar la acción `annCode`.

1PROC CAS;
2 loadactionset 'dataStep';
3 dataStep.runCode / code='data mycas.hmeq; set sampsio.hmeq; run;';
4 
5 loadactionset 'dataPreprocess';
6 impute.impute /
7 TABLE={name='hmeq'},
8 method='MEAN',
9 inputs={{name='DEBTINC'}, {name='NINQ'}},
10 copyAllVars=true,
11 casOut={name='hmeq_imputed', replace=true};
12 
13 loadactionset 'neuralNet';
14 annTrain /
15 TABLE={name='hmeq_imputed'},
16 inputs={'LOAN', 'MORTDUE', 'VALUE', 'YOJ', 'DEROG', 'DELINQ', 'CLAGE', 'NINQ', 'CLNO', 'DEBTINC'},
17 target='BAD',
18 nominals={'BAD', 'REASON', 'JOB'},
19 modelTable={name='nn_model'};
20QUIT;

Ejemplos

Este ejemplo toma la tabla de modelo generada en el paso de creación de datos y utiliza `annCode` para generar el código de puntuación del DATA step. El código se guarda en una tabla CAS especificada en el parámetro `casOut`.

Código SAS® / CAS
¡Copiado!
1PROC CAS;
2 loadactionset 'neuralNet';
3 annCode /
4 modelTable={name='nn_model'},
5 code={casOut={name='nn_score_code', replace=true}};
6RUN;
7QUIT;
Resultado :
Una tabla CAS llamada 'nn_score_code' que contiene el código DATA step generado. La acción también devuelve información sobre la tabla de código generada.

Este ejemplo demuestra cómo personalizar la salida del código de puntuación. Se utiliza el parámetro `code` para añadir comentarios al código (`comment=true`), establecer un tamaño de línea específico (`lineSize=100`) y proporcionar un nombre de modelo personalizado (`modelId`).

Código SAS® / CAS
¡Copiado!
1PROC CAS;
2 loadactionset 'neuralNet';
3 annCode /
4 modelTable={name='nn_model'},
5 modelId='MiModeloHMEQ',
6 code={
7 casOut={name='nn_score_code_detailed', replace=true, caslib='CASUSER'},
8 comment=true,
9 lineSize=100
10 };
11RUN;
12QUIT;
Resultado :
Una tabla CAS llamada 'nn_score_code_detailed' en la caslib 'CASUSER'. El código DATA step dentro de esta tabla incluirá comentarios explicativos, tendrá un ancho de línea máximo de 100 caracteres y usará 'MiModeloHMEQ' como el identificador del modelo.

FAQ

¿Cuál es el propósito de la acción `annCode`?
¿Cómo se especifica la tabla del modelo para la acción `annCode`?
¿Qué hace el parámetro `listNode`?
¿Para qué sirve el parámetro `modelId`?
¿Es posible generar el código de puntuación SAS directamente en una tabla de CAS?