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 con datos demográficos (edad, ingresos), comportamiento de compra (compras_previas) y una variable categórica (region). La variable objetivo 'respuesta_campana' (1 para sí, 0 para no) indica si el cliente respondió a una campaña anterior.
| 1 | DATA casuser.clientes_marketing(caslib='casuser'); |
| 2 | call streaminit(42); |
| 3 | array regions[4] $ E N S O; |
| 4 | DO i = 1 to 5000; |
| 5 | edad = 20 + floor(rand('UNIFORM') * 50); |
| 6 | ingresos = 30000 + floor(rand('UNIFORM') * 70000); |
| 7 | compras_previas = floor(rand('UNIFORM') * 20); |
| 8 | region = regions[ceil(rand('UNIFORM')*4)]; |
| 9 | log_odds = -2 + (edad / 20) - (ingresos / 50000) + (compras_previas * 0.1) + (region='S')*0.5; |
| 10 | prob = 1 / (1 + exp(-log_odds)); |
| 11 | respuesta_campana = rand('BERNOULLI', prob); |
| 12 | OUTPUT; |
| 13 | END; |
| 14 | RUN; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=casuser.clientes_marketing casout='clientes_marketing' replace; |
| 5 | QUIT; |
| 6 |
| 1 | PROC CAS; |
| 2 | ACTION bart.bartProbit / |
| 3 | TABLE={name='clientes_marketing'}, |
| 4 | target='respuesta_campana', |
| 5 | inputs={'edad', 'ingresos', 'compras_previas'}, |
| 6 | class={'region'}, |
| 7 | nTree=50, |
| 8 | nBI=200, |
| 9 | nMC=1000, |
| 10 | seed=123, |
| 11 | store={name='modelo_propension', replace=true}; |
| 12 | RUN; |
El modelo se entrena con éxito y se crea una tabla CAS llamada 'modelo_propension'. Los resultados del modelo, como la tabla de importancia de variables, deben indicar que 'compras_previas' y 'edad' son predictores importantes. La tabla del modelo almacenado está lista para ser utilizada por la acción `bart.bartScore` para puntuar nuevos clientes.