neuralNet

annScore

Descripción

La acción `annScore` del conjunto de acciones `neuralNet` se utiliza para puntuar datos con un modelo de red neuronal artificial previamente entrenado. Esta acción toma un modelo entrenado (desde una tabla CAS) y una tabla de datos de entrada, y genera una tabla de salida con las predicciones. Es una herramienta fundamental en el ciclo de vida del machine learning para aplicar modelos a nuevos datos y evaluar su rendimiento o para la implementación en producción.

neuralNet.annScore / table={name='<table-name>'<, ...>} modelTable={name='<table-name>'<, ...>} <assess=TRUE|FALSE> <assessOneRow=TRUE|FALSE> <casOut={<casouttable>}> <copyVars={<'variable-name-1'> <, 'variable-name-2', ...>}> <impute=TRUE|FALSE> <includeMissing=TRUE|FALSE> <listNode='ALL'|'HIDDEN'|'INPUT'|'OUTPUT'> <modelId='<string>'> <target='<variable-name>'>;
Parámetros
ParámetroDescripción
assessCuando se establece en True, las probabilidades predichas se agregan a la tabla de resultados para los niveles de eventos. Puede usar estas probabilidades predichas con la acción `assess`.
assessOneRowCuando se establece en True, las probabilidades predichas se agregan a la tabla de resultados para los niveles de eventos. Todas las probabilidades de eventos se incluyen como columnas separadas y se nombran con el prefijo _NN_P_. Puede usar estas probabilidades predichas con la acción `assess`.
casOutEspecifica la tabla de salida para almacenar los resultados de la puntuación. Esta tabla contendrá las variables copiadas de la tabla de entrada, así como las nuevas columnas con las predicciones del modelo.
copyVarsEspecifica las variables a transferir desde la tabla de entrada a la tabla de salida.
imputeCuando se establece en True, las observaciones con un valor no ausente para la variable objetivo se utilizan como los valores predichos. Es decir, se asume que el valor observado se conoce sin error. Solo se puntúan las observaciones con valores ausentes para la variable objetivo, basándose en sus valores para las variables de entrada.
includeMissingPor defecto, se incluyen las observaciones con valores ausentes. Cuando se establece en False, no se incluye ninguna observación con valores ausentes para las variables utilizadas en el modelo.
listNodeEspecifica los nodos que se incluirán en la tabla de salida puntuada. Cuando se solicita la autocodificación de los nodos de entrada, el valor predeterminado es HIDDEN. Este valor es particularmente útil cuando se aplica la autocodificación para reducir la dimensión de los nodos de entrada. Al reutilizar los valores de salida de los nodos, los algoritmos de aprendizaje automático como redes neuronales, clustering, árboles de decisión y bosques pueden usar los nuevos vectores codificados como entrada.
modelIdEspecifica el nombre de la variable de ID del modelo a usar al generar la tabla puntuada. Por defecto, el nombre de la variable es _NN_PredName_ para clasificaciones y _NN_Pred_ para regresiones.
modelTableEspecifica la tabla que contiene el modelo de red neuronal artificial. Puede usar este modelo para puntuar una tabla o generar código de puntuación SAS.
tableEspecifica la tabla de entrada que se va a puntuar. Esta tabla debe contener las mismas variables de entrada que se usaron para entrenar el modelo.
targetEspecifica la variable objetivo al puntuar un conjunto de datos. Si el nombre de la variable objetivo en el modelo es el mismo en la tabla puntuada, entonces esta opción no es necesaria.
Creación de Datos de Ejemplo

Este código crea una tabla CAS llamada 'hmeq_score' que contiene datos para ser puntuados. Estos datos simulan nuevos clientes para los cuales queremos predecir el riesgo de impago. Asumimos que un modelo llamado 'my_ann_model' ya ha sido entrenado y está disponible en la sesión CAS.

¡Copiado!
1DATA casuser.hmeq_score;
2 SET sashelp.hmeq(obs=50);
3 keep LOAN MORTDUE VALUE REASON JOB YOJ DEROG DELINQ CLAGE NINQ CLNO DEBTINC;
4RUN;

Ejemplos

Este ejemplo muestra cómo puntuar la tabla 'hmeq_score' utilizando un modelo de red neuronal previamente entrenado y almacenado en la tabla 'my_ann_model'. La tabla de salida 'hmeq_scored' contendrá las predicciones.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name='hmeq_score'}
4 modelTable={name='my_ann_model'}
5 casOut={name='hmeq_scored', replace=true};
6RUN;
7QUIT;
Resultado :
Una nueva tabla CAS llamada 'hmeq_scored' en la caslib 'casuser'. Esta tabla incluirá las variables originales de 'hmeq_score' más las columnas de predicción generadas por el modelo, como '_NN_Pred_' y '_NN_PredName_'.

Este ejemplo puntúa la tabla 'hmeq_score' y, además, solicita la generación de probabilidades predichas para cada nivel del evento (parámetro `assess=true`). También copia explícitamente las variables 'LOAN' y 'DEBTINC' a la tabla de salida para un análisis más enfocado.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name='hmeq_score'}
4 modelTable={name='my_ann_model'}
5 assess=true
6 copyVars={'LOAN', 'DEBTINC'}
7 casOut={name='hmeq_scored_assessed', replace=true};
8RUN;
9QUIT;
Resultado :
Una tabla CAS llamada 'hmeq_scored_assessed'. Además de las predicciones, contendrá columnas de probabilidad para cada nivel de la variable objetivo (por ejemplo, '_NN_P_1' y '_NN_P_0'). Solo las variables 'LOAN' y 'DEBTINC' de la tabla original se copiarán a la tabla de salida.

Este ejemplo utiliza el modelo para imputar valores ausentes en la variable objetivo 'DEBTINC'. El parámetro `impute=true` indica que solo las filas donde 'DEBTINC' es nulo serán puntuadas; para las demás, se mantendrá el valor original. El parámetro `target` es necesario para especificar qué variable se está imputando.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name='hmeq_score_with_missing'}
4 modelTable={name='my_debtinc_model'}
5 impute=true
6 target='DEBTINC'
7 casOut={name='hmeq_imputed', replace=true};
8RUN;
9QUIT;
Resultado :
Una tabla CAS 'hmeq_imputed' donde las filas con valores ausentes en 'DEBTINC' ahora tienen valores predichos por el modelo. Las filas que originalmente tenían un valor en 'DEBTINC' permanecen sin cambios.

Este ejemplo utiliza la puntuación no para predecir un objetivo, sino para extraer las activaciones de las capas ocultas de un autoencoder. El parámetro `listNode='HIDDEN'` especifica que la tabla de salida debe contener los valores de los nodos de las capas ocultas, que pueden ser utilizados como nuevas características (features) para otros modelos.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 neuralNet.annScore /
3 TABLE={name='input_data_for_encoding'}
4 modelTable={name='my_autoencoder_model'}
5 listNode='HIDDEN'
6 casOut={name='encoded_features', replace=true};
7RUN;
8QUIT;
Resultado :
Una tabla CAS llamada 'encoded_features' que contiene las representaciones de dimensionalidad reducida (características codificadas) de los datos de entrada, generadas a partir de las capas ocultas del modelo autoencoder.

FAQ

¿Cuál es el propósito de la acción annScore en SAS Viya?
¿Qué especifica el parámetro `modelTable`?
¿Cómo puedo incluir las probabilidades predichas para los niveles de eventos en la salida?
¿Qué hace el parámetro `assessOneRow`?
¿Es posible copiar variables de la tabla de entrada a la tabla de salida puntuada?
¿Qué controla el parámetro `listNode`?

Escenarios asociados

Caso de uso
Puntuación de Propensión de Compra para Campaña de Marketing

Una empresa de retail quiere optimizar su próxima campaña de marketing. Necesita identificar a los clientes con mayor probabilidad de comprar un nuevo producto. Se utilizará un ...

Caso de uso
Extracción de Características con Autoencoder para Detección de Fraude

Una entidad financiera busca mejorar sus modelos de detección de fraude. En lugar de usar datos transaccionales brutos, que son numerosos y ruidosos, aplicarán un modelo autoenc...

Caso de uso
Puntuación de Gran Volumen de Datos de Sensores IoT

Una planta de manufactura necesita predecir fallos en su maquinaria analizando datos de sensores IoT en tiempo real. El volumen de datos es masivo (millones de registros por hor...