Publié le :

Entraînement d'un modèle Gradient Boosting pour la prédiction de salaire

Ce code est également disponible en : Deutsch English Español
Snippet validé
Le script initie une session CAS, charge l'ensemble de données 'sashelp.baseball' en mémoire CAS sous la CASLIB 'casuser', puis charge l'action set 'decisionTree'. Il utilise ensuite l'action 'gbtreeTrain' pour construire un modèle de Gradient Boosting. Le modèle est configuré avec diverses options comme la distribution POISSON, l'arrêt précoce basé sur 'LOGLOSS', et l'importance des variables. Le modèle entraîné est enregistré en tant que table CAS 'GRADBOOST3'.
Analyse des données

Type : SASHELP


Les données source proviennent de l'ensemble de données intégré 'sashelp.baseball' de SAS, qui est ensuite chargé et traité en mémoire CAS sous la CASLIB 'casuser'.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc de code initialise une session CAS et rend toutes les CASLIBs disponibles. Un DATA STEP est ensuite utilisé pour charger l'ensemble de données 'sashelp.baseball' dans la mémoire CAS sous la CASLIB 'casuser', créant ainsi une copie de travail de la table 'baseball' en mémoire CAS.
Copié !
1cas;
2caslib _all_ assign;
3 
4DATA casuser.baseball;
5 SET sashelp.baseball;
6RUN;
2 Bloc de code
PROC CAS
Explication :
Ce bloc utilise PROC CAS pour charger l'action set 'decisionTree'. Cet action set fournit les actions nécessaires à la construction et à l'entraînement de modèles d'arbres de décision, y compris l'action de Gradient Boosting qui sera utilisée par la suite.
Copié !
1PROC CAS;
2LOADACTIONSET 'decisionTree';
3QUIT;
Résultat Visuel
Result
3 Bloc de code
PROC CAS Data
Explication :
Ce bloc configure la CASLIB par défaut sur 'casuser' et utilise ensuite l'action 'gbtreeTrain' de l'action set 'decisionTree' via PROC CAS. Cette action entraîne un modèle de Gradient Boosting sur la table 'baseball' (casuser.baseball), ciblant la variable 'logSalary'. Il spécifie une liste de variables d'entrée numériques et nominales, utilise une distribution POISSON, et inclut des options pour l'arrêt précoce (basé sur LOGLOSS), l'encodage des noms, la sélection gloutonne, la gestion des valeurs manquantes, la régularisation Lasso, la taille des feuilles, le taux d'apprentissage et le calcul de l'importance des variables. Le modèle entraîné est sauvegardé dans une nouvelle table CAS nommée 'GRADBOOST3'.
Copié !
1options caslib=casuser;
2 
3PROC CAS;
4decisionTree.gbtreeTrain /
5 TABLE={name="baseball"}
6 target="logSalary"
7 casOut={name="GRADBOOST3", replace=true}
8inputs={"nAtBat",
9 "nHits",
10 "nHome",
11 "nRuns",
12 "nRBI",
13 "nBB",
14 "YrMajor",
15 "CrAtBat",
16 "CrHits",
17 "CrHome",
18 "CrRuns",
19 "CrRbi",
20 "CrBB",
21 "nOuts",
22 "nAssts",
23 "nError",
24 "Division",
25 "League",
26 "Position"}
27nominals={"Division","League","Position"}
28distribution="POISSON"
29earlyStop={metric="LOGLOSS"}
30encodeName=TRUE
31greedy=TRUE
32includeMissing=TRUE
33lasso=1
34leafSize=5
35learningRate=.1
36m=5
37varImp=TRUE
38;
39QUIT;
Résultat Visuel
Result
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © 2021, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0


Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« Portez une attention particulière à la table d'importance des variables générée. Dans un modèle de Gradient Boosting, c'est votre meilleur outil pour expliquer les décisions de la "boîte noire" à vos interlocuteurs métiers »