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.
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`.

¡Copiado!
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 Código en espera de validación por la comunidad
¡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 Código en espera de validación por la comunidad
¡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?

Escenarios asociados

Caso de uso
Generación de Código para Modelo de Riesgo Crediticio

Una entidad financiera necesita desplegar un modelo de riesgo crediticio, entrenado en SAS Viya, en su entorno de producción SAS 9 para el scoring nocturno de nuevas solicitudes...

Caso de uso
Extracción de Características con Autoencoder para Datos de Sensores

Una empresa de manufactura utiliza un modelo de autoencoder para la detección de anomalías y la reducción de dimensionalidad en datos de alta frecuencia provenientes de 50 senso...

Caso de uso
Prueba de Robustez: Modelo Inexistente y Parámetros Inválidos

Un analista junior está aprendiendo a usar las acciones de CAS y comete errores comunes. Este escenario prueba la capacidad de la acción `annCode` para manejar entradas incorrec...