gbtreeTrain
Description
L'action gbtreeTrain est le moteur de course pour l'entraînement de modèles de boostingTechnique d'apprentissage séquentiel où chaque nouveau modèle corrige les erreurs des précédents. Elle réduit le biais et augmente la précision en pondérant les observations mal classées. de gradient (Gradient BoostingMéthode d'apprentissage itérative créant une suite d'arbres de décision. Chaque nouvel arbre corrige les erreurs de prédiction des précédents pour minimiser globalement la fonction de perte. Trees) dans SAS Viya. Contrairement à une forêt aléatoireAlgorithme d'apprentissage supervisé combinant plusieurs arbres de décision indépendants pour améliorer la précision et réduire le surapprentissage par agrégation de leurs prédictions. qui vote à la majorité, le boostingTechnique d'apprentissage séquentiel où chaque nouveau modèle corrige les erreurs des précédents. Elle réduit le biais et augmente la précision en pondérant les observations mal classées. est une approche séquentielle où chaque nouvel arbre est un petit génie chargé de corriger les bêtises (les résidus) commises par ses prédécesseurs. C'est l'outil indispensable pour obtenir des performances prédictives de haut vol, que ce soit pour de la classification binaire ou de la régression.
Paramètres Clés
Préparation des données
Préparation des données HMEQ
Nous utilisons le jeu de données classique HMEQ (Home Equity) pour prédire le risque de défaut de paiement.
| 1 | PROC CAS; |
| 2 | TABLE.loadTable / path="hmeq.sashdat", caslib="casuser", casout={name="hmeq", replace=true}; |
| 3 | RUN; |
Exemples d'utilisation
Entraînement de base
Un exemple minimal pour lancer votre premier boosting sur la variable 'BAD'.
| 1 | PROC CAS; |
| 2 | decisionTree.gbtreeTrain / TABLE={name="hmeq"}, target="BAD", inputs={"LOAN", "MORTDUE", "VALUE"}, casOut={name="gb_model_simple", replace=true}; |
| 3 | RUN; |
Résultat Attendu :
Boosting optimisé avec régularisation et importance des variables
Ici, on passe aux choses sérieuses : 100 arbres, un taux d'apprentissage de 0.05, de la régularisation Ridge et le calcul de l'importance des variables.
| 1 | PROC CAS; |
| 2 | decisionTree.gbtreeTrain / |
| 3 | TABLE={name="hmeq"}, |
| 4 | target="BAD", |
| 5 | inputs={"LOAN", "MORTDUE", "VALUE", "REASON", "JOB", "DEROG", "DELINQ"}, |
| 6 | nominals={"BAD", "REASON", "JOB"}, |
| 7 | distribution="BINARY", |
| 8 | nTree=100, |
| 9 | learningRate=0.05, |
| 10 | maxLevel=6, |
| 11 | subSampleRate=0.7, |
| 12 | ridge=1.5, |
| 13 | seed=42, |
| 14 | varImp=true, |
| 15 | casOut={name="gb_model_final", replace=true}, |
| 16 | saveState={name="gb_astore", replace=true}; |
| 17 | RUN; |