Scénario de test & Cas d'usage
Entrenamiento de redes neuronales artificiales clásicas.
Descubrir todas las acciones de neuralNetPrimero, se entrena un modelo de red neuronal con datos históricos de clientes (HMEQ) y se guarda en la tabla 'modelo_riesgo'. Luego, se crea una tabla 'nuevas_solicitudes' con la misma estructura (sin la variable objetivo) para simular los datos que necesitan ser puntuados.
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'dataStep'; |
| 3 | dataStep.runCode / code='data mycas.hmeq_train; set sampsio.hmeq; run;'; |
| 4 | |
| 5 | LOADACTIONSET 'dataPreprocess'; |
| 6 | impute.impute / TABLE={name='hmeq_train'} method='MEAN' inputs={{name='DEBTINC'}, {name='NINQ'}} copyAllVars=true casOut={name='hmeq_imputed', replace=true}; |
| 7 | |
| 8 | LOADACTIONSET 'neuralNet'; |
| 9 | annTrain / TABLE={name='hmeq_imputed'} inputs={'LOAN', 'MORTDUE', 'VALUE', 'YOJ', 'DEROG', 'DELINQ', 'CLAGE', 'NINQ', 'CLNO', 'DEBTINC'} target='BAD' nominals={'BAD', 'REASON', 'JOB'} modelTable={name='modelo_riesgo', replace=true}; |
| 10 | |
| 11 | dataStep.runCode / code='data mycas.nuevas_solicitudes; LOAN=25000; MORTDUE=80000; VALUE=120000; YOJ=5; DEROG=0; DELINQ=0; CLAGE=150; NINQ=1; CLNO=20; DEBTINC=35; REASON="HomeImp"; JOB="Office"; run;'; |
| 12 | QUIT; |
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'neuralNet'; |
| 3 | annCode / |
| 4 | modelTable={name='modelo_riesgo'}, |
| 5 | modelId='ModeloRiesgoCrediticio', |
| 6 | code={casOut={name='codigo_scoring_riesgo', replace=true}}; |
| 7 | RUN; |
| 8 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.fetch / TABLE={name='codigo_scoring_riesgo'}; |
| 3 | RUN; |
| 4 | QUIT; |
La acción debe generar una tabla CAS llamada 'codigo_scoring_riesgo'. Esta tabla contendrá el código SAS DATA step completo. El código incluirá la lógica del modelo de red neuronal y creará variables de salida con el prefijo 'ModeloRiesgoCrediticio_', como 'ModeloRiesgoCrediticio_P_BAD1' y 'ModeloRiesgoCrediticio_I_BAD'. El código debe ser ejecutable en un entorno SAS base para puntuar la tabla 'nuevas_solicitudes'.