Scénario de test & Cas d'usage
Entrenamiento de redes neuronales artificiales clásicas.
Descubrir todas las acciones de neuralNetCrea una tabla de pacientes con valores faltantes (representados por '.') en las variables de entrada. También incluye una columna 'Peso' para ponderar las observaciones durante el entrenamiento.
| 1 | DATA datos_pacientes; |
| 2 | call streaminit(789); |
| 3 | DO PacienteID = 1 to 2000; |
| 4 | Edad = floor(rand('Uniform') * 60) + 20; |
| 5 | NumProcedimientos = floor(rand('Uniform') * 10); |
| 6 | DiasEstancia = .; |
| 7 | IF rand('Uniform') > 0.25 THEN DiasEstancia = floor(rand('Uniform') * 15) + 1; |
| 8 | Reingreso = 0; |
| 9 | Peso = 1; |
| 10 | IF Edad > 65 and rand('Uniform') > 0.5 THEN DO; |
| 11 | Reingreso = 1; |
| 12 | Peso = 2.5; |
| 13 | END; |
| 14 | ELSE IF DiasEstancia > 10 and rand('Uniform') > 0.6 THEN Reingreso = 1; |
| 15 | OUTPUT; |
| 16 | END; |
| 17 | RUN; |
| 18 | |
| 19 | PROC CAS; |
| 20 | TABLE.loadTable / caslib='casuser' path='datos_pacientes.sashdat' casOut={name='pacientes_missing', replace=true}; |
| 21 | QUIT; |
| 1 | PROC CAS; |
| 2 | neuralNet.annTrain / |
| 3 | TABLE='pacientes_missing', |
| 4 | inputs={'Edad', 'NumProcedimientos', 'DiasEstancia'}, |
| 5 | target='Reingreso', |
| 6 | arch='GLIM', |
| 7 | errorFunc='ENTROPY', |
| 8 | targetAct='LOGISTIC', |
| 9 | missing='MEAN', |
| 10 | weight='Peso', |
| 11 | casOut={name='reingreso_model', replace=true}; |
| 12 | RUN; |
| 1 | PROC CAS; |
| 2 | neuralNet.annTrain / |
| 3 | TABLE='pacientes_missing', |
| 4 | inputs={'Edad', 'NumProcedimientos', 'DiasEstancia'}, |
| 5 | target='Reingreso', |
| 6 | arch='GLIM', |
| 7 | errorFunc='ENTROPY', |
| 8 | targetAct='LOGISTIC', |
| 9 | weight='Peso', |
| 10 | casOut={name='reingreso_model_fail', replace=true}; |
| 11 | RUN; |
| 12 | QUIT; |
El primer paso debe ejecutarse con éxito. La tabla 'ModelInfo' debe indicar que se utilizó la imputación por la media. El segundo paso debe fallar o generar un error en el log de SAS indicando que se encontraron valores faltantes en las variables de entrada y no se pudieron procesar, validando el comportamiento del parámetro 'missing'.