Scénario de test & Cas d'usage
Modelos de árboles de regresión aditiva bayesiana.
Descubrir todas las acciones de bartCrea una tabla de clientes para puntuar (`clientes_a_puntuar`) y una tabla ficticia de almacenamiento del modelo (`modelo_churn_bart`). La tabla de clientes contiene variables predictoras como la antigüedad, el gasto mensual y el número de llamadas a soporte.
| 1 | DATA mycas.clientes_a_puntuar(keep=ID_Cliente Antiguedad GastoMensual LlamadasSoporte); |
| 2 | call streaminit(456); |
| 3 | DO ID_Cliente = 1 to 500; |
| 4 | Antiguedad = floor(rand('UNIFORM') * 60) + 1; |
| 5 | GastoMensual = 50 + rand('NORMAL', 20, 15); |
| 6 | LlamadasSoporte = floor(rand('POISSON', 2)); |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | RUN; |
| 10 | |
| 11 | DATA mycas.modelo_churn_bart; |
| 12 | /* Tabla ficticia para representar el almacén del modelo. En un caso real, esta tabla es generada por bartGauss o bartProbit. */ |
| 13 | LENGTH _Value_ $ 200; |
| 14 | _Value_ = 'simulated_model_data'; |
| 15 | OUTPUT; |
| 16 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartScore / |
| 3 | restore={name='modelo_churn_bart', caslib='mycas'}, |
| 4 | TABLE={name='clientes_a_puntuar', caslib='mycas'}, |
| 5 | casOut={name='clientes_puntuados', caslib='mycas', replace=true}, |
| 6 | pred='ProbabilidadAbandono', |
| 7 | copyVars={'ID_Cliente', 'Antiguedad'}; |
| 8 | RUN; |
| 9 | QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.fetch / |
| 3 | TABLE={name='clientes_puntuados', caslib='mycas'}, |
| 4 | to=10; |
| 5 | RUN; |
| 6 | QUIT; |
Se genera una nueva tabla CAS llamada `clientes_puntuados`. Esta tabla contiene el `ID_Cliente` y la `Antiguedad` de la tabla de entrada, junto con una nueva columna `ProbabilidadAbandono` que contiene la puntuación de riesgo para cada cliente. El equipo de marketing puede ahora utilizar esta tabla para filtrar a los clientes con la probabilidad más alta y actuar en consecuencia.