Scénario de test & Cas d'usage
Création de données de crédit avec une variable cible binaire déséquilibrée.
| 1 | |
| 2 | DATA work.credit; |
| 3 | call streaminit(777); |
| 4 | DO i=1 to 500; |
| 5 | income = rand('lognormal', 10, 0.5); |
| 6 | debt = rand('uniform', 1000, 20000); |
| 7 | IF (debt/income) > 2 THEN default='1'; |
| 8 | ELSE default='0'; |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | |
| 12 | RUN; |
| 13 |
| 1 | |
| 2 | PROC CAS; |
| 3 | upload path="%sysfunc(pathname(work))/credit.sas7bdat" casout={name="credit", replace=true}; |
| 4 | |
| 5 | QUIT; |
| 6 |
| 1 | |
| 2 | PROC CAS; |
| 3 | mlTools.crossValidate / modelType="FOREST" targetEvent="1" casOut={name="scored_folds", replace=true} trainOptions={TABLE={name="credit"}, target="default", inputs={"income", "debt"}, nominals={"default"}}; |
| 4 | |
| 5 | QUIT; |
| 6 |
L'action doit identifier correctement l'événement '1' comme cible pour le calcul des statistiques (Lift, ROC). Une table 'scored_folds' doit être créée contenant les prédictions pour chaque pli.