mlTools crossValidate

Cas limite : Cible rare et modèle Forêt Aléatoire

Scénario de test & Cas d'usage

Contexte Métier

Une institution financière modélise le risque de défaut de paiement (événement rare = '1'). Le test vise à vérifier la capacité de l'action à gérer un événement cible spécifique dans une Forêt Aléatoire, tout en produisant une table de sortie des scores pour analyse ultérieure.
Préparation des Données

Création de données de crédit avec une variable cible binaire déséquilibrée.

Copié !
1 
2DATA work.credit;
3call streaminit(777);
4DO i=1 to 500;
5income = rand('lognormal', 10, 0.5);
6debt = rand('uniform', 1000, 20000);
7IF (debt/income) > 2 THEN default='1';
8ELSE default='0';
9OUTPUT;
10END;
11 
12RUN;
13 

Étapes de réalisation

1
Chargement des données de crédit.
Copié !
1 
2PROC CAS;
3upload path="%sysfunc(pathname(work))/credit.sas7bdat" casout={name="credit", replace=true};
4 
5QUIT;
6 
2
Exécution avec cible explicite '1' et sauvegarde des scores.
Copié !
1 
2PROC CAS;
3mlTools.crossValidate / modelType="FOREST" targetEvent="1" casOut={name="scored_folds", replace=true} trainOptions={TABLE={name="credit"}, target="default", inputs={"income", "debt"}, nominals={"default"}};
4 
5QUIT;
6 

Résultat Attendu


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.