Scénario de test & Cas d'usage
Limpieza, imputación y preprocesamiento de datos.
Descubrir todas las acciones de dataPreprocessSimulación de una cartera de clientes con historial de pagos, introduciendo correlación entre el tipo de trabajo y el impago.
| 1 | |
| 2 | DATA casuser.cartera_credito; |
| 3 | call streaminit(123); |
| 4 | DO id = 1 to 5000; |
| 5 | u = rand('Uniform'); |
| 6 | IF u < 0.3 THEN Trabajo = 'Autonomo'; |
| 7 | ELSE IF u < 0.6 THEN Trabajo = 'Asalariado'; |
| 8 | ELSE IF u < 0.8 THEN Trabajo = 'Funcionario'; |
| 9 | ELSE Trabajo = 'Desempleado'; |
| 10 | IF Trabajo = 'Desempleado' THEN Prob_Impago = 0.6; |
| 11 | ELSE IF Trabajo = 'Autonomo' THEN Prob_Impago = 0.3; |
| 12 | ELSE Prob_Impago = 0.05; |
| 13 | IF rand('Uniform') < Prob_Impago THEN Incumplimiento = 1; |
| 14 | ELSE Incumplimiento = 0; |
| 15 | OUTPUT; |
| 16 | END; |
| 17 | |
| 18 | RUN; |
| 19 |
| 1 | |
| 2 | PROC CAS; |
| 3 | dataPreprocess.catTrans / TABLE={name='cartera_credito', caslib='casuser'} inputs={{name='Trabajo'}} targets={{name='Incumplimiento'}} events={'1'} method='WOE' evaluationStats=true casOut={name='datos_woe', caslib='casuser', replace=true} casOutBinDetails={name='detalles_bin', caslib='casuser', replace=true} code={casOut={name='codigo_scoring', caslib='casuser', replace=true}}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.fetch / TABLE={name='detalles_bin', caslib='casuser'} fetchVars={'Variable', 'IV_Value'}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
La acción debe generar una tabla con la variable 'cat_Trabajo' transformada a valores WOE. La tabla 'detalles_bin' debe mostrar un Valor de Información (IV) alto para la variable 'Trabajo', confirmando su poder predictivo. Además, se debe haber generado la tabla 'codigo_scoring' conteniendo el código SAS Data Step listo para ser desplegado en producción.