Publicado el :

Entrenamiento de un modelo Gradient Boosting para la predicción de salario

Este código también está disponible en: Deutsch English Français
En espera de validación
El script inicia una sesión CAS, carga el conjunto de datos 'sashelp.baseball' en la memoria CAS bajo la CASLIB 'casuser', y luego carga el action set 'decisionTree'. Luego utiliza la acción 'gbtreeTrain' para construir un modelo de Gradient Boosting. El modelo se configura con varias opciones como la distribución POISSON, la detención temprana basada en 'LOGLOSS', y la importancia de las variables. El modelo entrenado se guarda como una tabla CAS 'GRADBOOST3'.
Análisis de datos

Type : SASHELP


Los datos fuente provienen del conjunto de datos integrado 'sashelp.baseball' de SAS, que luego se carga y procesa en la memoria CAS bajo la CASLIB 'casuser'.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque de código inicializa una sesión CAS y hace que todas las CASLIBs estén disponibles. Luego se utiliza un DATA STEP para cargar el conjunto de datos 'sashelp.baseball' en la memoria CAS bajo la CASLIB 'casuser', creando así una copia de trabajo de la tabla 'baseball' en la memoria CAS.
¡Copiado!
1cas;
2caslib _all_ assign;
3 
4DATA casuser.baseball;
5 SET sashelp.baseball;
6RUN;
2 Bloque de código
PROC CAS
Explicación :
Este bloque utiliza PROC CAS para cargar el action set 'decisionTree'. Este action set proporciona las acciones necesarias para la construcción y el entrenamiento de modelos de árboles de decisión, incluyendo la acción de Gradient Boosting que se utilizará posteriormente.
¡Copiado!
1PROC CAS;
2LOADACTIONSET 'decisionTree';
3QUIT;
3 Bloque de código
PROC CAS Data
Explicación :
Este bloque configura la CASLIB por defecto en 'casuser' y luego utiliza la acción 'gbtreeTrain' del action set 'decisionTree' a través de PROC CAS. Esta acción entrena un modelo de Gradient Boosting en la tabla 'baseball' (casuser.baseball), apuntando a la variable 'logSalary'. Especifica una lista de variables de entrada numéricas y nominales, utiliza una distribución POISSON, e incluye opciones para la detención temprana (basada en LOGLOSS), la codificación de nombres, la selección glotona, el manejo de valores faltantes, la regularización Lasso, el tamaño de las hojas, la tasa de aprendizaje y el cálculo de la importancia de las variables. El modelo entrenado se guarda en una nueva tabla CAS llamada 'GRADBOOST3'.
¡Copiado!
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;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Copyright © 2021, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0