mlTools crossValidate

Validation croisée standard d'un modèle Gradient Boosting

Scénario de test & Cas d'usage

Contexte Métier

Une entreprise de télécommunications souhaite évaluer la robustesse de son modèle de prédiction d'attrition (churn) avant la mise en production. L'objectif est d'utiliser un modèle de Gradient Boosting et de valider ses performances sur 5 segments (plis) différents pour éviter le sur-apprentissage.
Préparation des Données

Simulation d'un parc client avec ancienneté, facture mensuelle et indicateur de churn.

Copié !
1 
2DATA work.churn_data;
3call streaminit(123);
4DO i=1 to 1000;
5tenure = rand('integer', 1, 72);
6monthly_bill = rand('uniform', 30, 120);
7IF rand('uniform') < 0.15 THEN churn='Yes';
8ELSE churn='No';
9OUTPUT;
10END;
11 
12RUN;
13 

Étapes de réalisation

1
Chargement des données clients dans la mémoire CAS.
Copié !
1 
2PROC CAS;
3upload path="%sysfunc(pathname(work))/churn_data.sas7bdat" casout={name="churn_data", replace=true};
4 
5QUIT;
6 
2
Exécution de la validation croisée (5 plis par défaut) avec le modèle GRADBOOST.
Copié !
1 
2PROC CAS;
3mlTools.crossValidate RESULT=r / kFolds=5 modelType="GRADBOOST" tableRedistUpPolicy="REBALANCE" trainOptions={TABLE={name="churn_data"}, target="churn", inputs={"tenure", "monthly_bill"}, nominals={"churn"}};
4PRINT r;
5 
6QUIT;
7 

Résultat Attendu


L'action doit produire une table de résultats affichant les métriques de performance (ex: erreur moyenne, erreurs de classification) moyennées sur les 5 plis, confirmant la stabilité du modèle Gradient Boosting.