Scénario de test & Cas d'usage
Modèles d'arbres de régression additive bayésienne.
Découvrir toutes les actions de bartGénération d'une table volumineuse (200 000 observations) simulant des demandes de prêt avec une variable cible binaire 'defaut_paiement'.
| 1 | DATA casuser.CreditRisk_Large_fr; |
| 2 | call streaminit(789); |
| 3 | DO i = 1 to 200000; |
| 4 | score_credit = 300 + floor(rand('Uniform') * 550); |
| 5 | revenu_emprunteur = 20000 + floor(rand('Uniform') * 180000); |
| 6 | montant_pret = 10000 + floor(rand('Uniform') * 90000); |
| 7 | duree_pret_mois = 12 + floor(rand('Uniform') * 60); |
| 8 | |
| 9 | z = -1.5 - (score_credit / 200) + (revenu_emprunteur / 100000) + (montant_pret / 50000) + (duree_pret_mois / 24); |
| 10 | prob_defaut = cdf('Normal', z); |
| 11 | IF rand('Uniform') < prob_defaut THEN defaut_paiement = 1; |
| 12 | ELSE defaut_paiement = 0; |
| 13 | |
| 14 | OUTPUT; |
| 15 | END; |
| 16 | RUN; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=casuser.CreditRisk_Large_fr casout='CreditRisk_Large_fr' replace; |
| 5 | QUIT; |
| 6 |
| 1 | PROC CAS; |
| 2 | bart.bartProbit TABLE={name='CreditRisk_Large_fr'}, |
| 3 | target='defaut_paiement', |
| 4 | inputs={'score_credit', 'revenu_emprunteur', 'montant_pret', 'duree_pret_mois'}, |
| 5 | nTree=250, |
| 6 | nBI=1000, |
| 7 | nMC=2000, |
| 8 | maxTrainTime=300, |
| 9 | seed=987; |
| 10 | RUN; |
| 11 | QUIT; |
L'action doit terminer son exécution en moins de 300 secondes, même si toutes les itérations MCMC ne sont pas complétées. Le log SAS indiquera si l'entraînement a été arrêté en raison de la limite de temps. Les résultats du modèle, bien que potentiellement non optimaux, sont générés, prouvant que le paramètre `maxTrainTime` fonctionne correctement pour contrôler le temps d'exécution sur de grands volumes.