Entrena un modelo de bosque (forest). Esta acción implementa algoritmos de bosque aleatorio o Gradient Boosting (cuando se configura adecuadamente) para construir múltiples árboles de decisión y combinar sus predicciones. Es útil para clasificación, regresión y, con la opción de aislamiento, para la detección de anomalías. Requiere una licencia de SAS Visual Data Mining and Machine Learning.
| Parámetro | Descripción |
|---|---|
| alpha | Especifica el valor a utilizar para la poda de complejidad de costo mínima para árboles de regresión. |
| applyRowOrder | Especifica que la acción utilice un ordenamiento de filas pre-especificado (requiere table.partition previo). |
| attributes | Especifica atributos temporales, como formato y etiqueta, para aplicar a las variables de entrada. |
| binOrder | Por defecto (True), se preserva el orden de los contenedores para variables numéricas. |
| bootstrap | Especifica la fracción de los datos para la muestra de bootstrap. |
| casOut | Especifica la tabla de salida donde se almacenará el modelo de bosque. |
| cfLev | Especifica la agresividad de la poda del árbol según el algoritmo C4.5. |
| code | Solicita que la acción produzca código de puntuación SAS. |
| codeInteractions | Solicita que la acción produzca código de puntuación SAS para crear variables que codifiquen interacciones. |
| crit | Especifica el criterio de división para cada nodo del árbol (ej. GINI, GAIN, CHISQUARE). |
| encodeName | Especifica si codificar los nombres de variables (ej. P_ prefijo) en la tabla de salida. |
| event | Especifica los valores de evento de la variable objetivo, útil para muestreo de eventos raros. |
| eventFreq | Especifica la frecuencia para cada evento correspondiente en el parámetro event. |
| freq | Especifica una variable numérica que contiene la frecuencia de ocurrencia de cada observación. |
| greedy | Por defecto (True), utiliza búsqueda exhaustiva. Si es False, usa un algoritmo rápido basado en clustering. |
| includeMissing | Por defecto (True), incluye observaciones con valores faltantes. |
| inputs | Especifica las variables de entrada a utilizar en el análisis. |
| isolation | Si es True, especifica el entrenamiento de un bosque de aislamiento (Isolation Forest). |
| leafSize | Especifica el número mínimo de observaciones en cada nodo hoja. |
| loh | Especifica el número de variables para dividir usando el método LOH. |
| m | Especifica el número de variables de entrada a considerar para dividir en un nodo. |
| maxBranch | Especifica el número máximo de hijos (ramas) permitidos para cada nivel del árbol. |
| maxLevel | Especifica el número máximo del nivel del árbol (profundidad). |
| mergeBin | Por defecto (True), intenta fusionar contenedores vecinos si los valores coinciden. |
| minUseInSearch | Especifica un umbral para utilizar valores faltantes en la búsqueda de división. |
| missing | Especifica la política para manejar valores faltantes ('MACSMALL' o 'USEINSEARCH'). |
| modelId | Especifica el nombre de la variable de ID del modelo para usar al generar código de puntuación SAS. |
| nBins | Especifica el número de contenedores para variables numéricas en el cálculo. |
| nBinsTarget | Especifica el número de contenedores para una variable objetivo numérica. |
| nominals | Especifica las variables de entrada nominales a utilizar en el análisis. |
| nominalSearch | Especifica el método para encontrar una división en una entrada nominal. |
| nTree | Especifica el número de árboles a crear. |
| oob | Si es True, calcula el error fuera de la bolsa (out-of-bag) al construir el bosque. |
| prune | Especifica si se usa un método de poda (C4.5 o costo-complejidad). |
| quantileBin | Especifica límites de contenedores en cuantiles de entradas numéricas en lugar de ancho igual. |
| rbaImp | Especifica la importancia de la variable utilizando el método de asignación de ramas aleatorias (RBA). |
| sampleN | Especifica el número de observaciones o la fracción de datos para el muestreo. |
| saveState | Especifica la tabla para almacenar el modelo aStore generado. |
| seed | Especifica la semilla para el generador de números aleatorios. |
| table | Especifica la configuración para la tabla de entrada. |
| target | Especifica la variable objetivo o de respuesta para el entrenamiento. |
| varImp | Especifica si se genera la información de importancia de la variable. |
| varIntImp | Solicita la importancia de la interacción de variables y el grado máximo. |
| vote | Especifica la estrategia de votación para la clasificación ('MAJORITY' o 'PROB'). |
| weight | Especifica una variable numérica que contiene el peso de cada observación. |
Carga el conjunto de datos de préstamos hipotecarios (HMEQ) para su uso en los ejemplos.
| 1 | PROC CAS; |
| 2 | SESSION casauto; |
| 3 | TABLE.loadTable RESULT=r STATUS=s / |
| 4 | caslib="samples" |
| 5 | path="hmeq.csv" |
| 6 | casOut={name="hmeq", replace=true}; |
| 7 | RUN; |
Entrena un modelo de bosque básico para predecir la variable binaria BAD.
| 1 | PROC CAS; |
| 2 | decisionTree.forestTrain RESULT=r STATUS=s / |
| 3 | TABLE={name="hmeq"} |
| 4 | target="BAD" |
| 5 | inputs={"LOAN", "MORTDUE", "VALUE", "REASON", "JOB", "YOJ", "DEROG", "DELINQ", "CLAGE", "NINQ", "CLNO", "DEBTINC"} |
| 6 | nominals={"REASON", "JOB", "BAD"} |
| 7 | casOut={name="forest_model", replace=true}; |
| 8 | RUN; |
Entrena un modelo con 100 árboles, calcula el error Out-of-Bag, solicita importancia de variables y guarda el modelo en formato aStore para un despliegue optimizado.
| 1 | PROC CAS; |
| 2 | decisionTree.forestTrain RESULT=r STATUS=s / |
| 3 | TABLE={name="hmeq"} |
| 4 | target="BAD" |
| 5 | inputs={"LOAN", "MORTDUE", "VALUE", "REASON", "JOB", "YOJ", "DEROG", "DELINQ", "CLAGE", "NINQ", "CLNO", "DEBTINC"} |
| 6 | nominals={"REASON", "JOB", "BAD"} |
| 7 | nTree=100 |
| 8 | m=4 |
| 9 | bootstrap=0.6 |
| 10 | oob=true |
| 11 | varImp=true |
| 12 | missing="USEINSEARCH" |
| 13 | casOut={name="forest_model_out", replace=true} |
| 14 | saveState={name="forest_astore", replace=true}; |
| 15 | RUN; |