Scénario de test & Cas d'usage
Entrenamiento de redes neuronales artificiales clásicas.
Descubrir todas las acciones de neuralNetGenera una tabla de gran volumen ('iot_sensor_data') con 2 millones de registros para simular lecturas de sensores, y una tabla de modelo de predicción de fallos ('failure_model').
| 1 | DATA casuser.iot_sensor_data(keep=ID_SENSOR TEMP PRESION VIBRACION) casuser.failure_model; |
| 2 | /* Crear gran volumen de datos de sensores */ |
| 3 | call streaminit(789); |
| 4 | DO ID_SENSOR = 1 to 500; |
| 5 | DO _i = 1 to 4000; |
| 6 | TEMP = 80 + rand('normal')*5; |
| 7 | PRESION = 100 + rand('normal')*2; |
| 8 | VIBRACION = 0.5 + rand('uniform')*0.5; |
| 9 | OUTPUT casuser.iot_sensor_data; |
| 10 | END; |
| 11 | END; |
| 12 | |
| 13 | /* Crear modelo ficticio */ |
| 14 | LENGTH _MODEL_ 8 _MODELNAME_ $32 _TARGET_ $32 _TYPE_ $16; |
| 15 | _MODEL_ = 1; _MODELNAME_ = 'FailurePredictor'; _TARGET_ = 'PRED_FALLO'; _TYPE_ = 'CLASSIFICATION'; |
| 16 | OUTPUT casuser.failure_model; |
| 17 | RUN; |
| 1 | PROC CAS; |
| 2 | neuralNet.annScore / |
| 3 | TABLE={name='iot_sensor_data'}, |
| 4 | modelTable={name='failure_model'}, |
| 5 | casOut={name='iot_scored_results', replace=true}; |
| 6 | RUN; |
| 7 | QUIT; |
| 1 | PROC CAS; |
| 2 | SIMPLE.freq / |
| 3 | TABLE={name='iot_scored_results'} |
| 4 | inputs={'_NN_PredName_'}; |
| 5 | RUN; |
| 6 | QUIT; |
La acción annScore debe completarse exitosamente sobre la tabla de 2 millones de registros. Se genera una nueva tabla CAS 'iot_scored_results' que contiene las predicciones de fallo para cada lectura de sensor. El análisis de frecuencia posterior debe mostrar una distribución de predicciones (ej. 'FALLO_INMINENTE', 'NORMAL'), confirmando que todo el dataset fue procesado correctamente.