Hiperparámetros de XGBoost - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Hiperparámetros de XGBoost

La siguiente tabla contiene el subconjunto de hiperparámetros que se requieren o se utilizan con más frecuencia para el algoritmo Amazon SageMaker XGBoost. Estos son los parámetros que establecen los usuarios para facilitar la estimación de los parámetros del modelo a partir de los datos. Los hiperparámetros necesarios que deben establecerse se enumerarán en primer lugar, en orden alfabético. Los hiperparámetros opcionales que se pueden establecer aparecen a continuación en la lista, también en orden alfabético. El algoritmo SageMaker XGBoost es una implementación del paquete DMLC XGBoost de código abierto. Para obtener más información sobre el conjunto completo de hiperparámetros que se pueden configurar para esta versión de XGBoost, consulte Parámetros de XGBoost.

Nombre del parámetro Descripción
num_class

Número de clases.

Es obligatorio si objective se establece en multi:softmax o multi:softprob.

Valores válidos: número entero.

num_round

El número de rondas para ejecutar la capacitación.

Obligatorio

Valores válidos: número entero.

alpha

El plazo de regularización de L1 sobre ponderaciones. Si aumenta este valor, hace que los modelos sean más conservadores.

Opcional

Valores válidos: número flotante.

Valor predeterminado: 0

base_score

La puntuación de la predicción inicial de todas las instancias (sesgo global).

Opcional

Valores válidos: número flotante.

Valor predeterminado: 0,5

booster

Qué potenciador utilizar. Los valores gbtree y dart usan un modelo basado en árbol, mientras que gblinear usa una función lineal.

Opcional

Valores válidos: Cadena. Uno de los valores de entre "gbtree", "gblinear" o "dart".

Valor predeterminado: "gbtree"

colsample_bylevel

La proporción de submuestra de columnas para cada división, en cada nivel.

Opcional

Valores válidos: número flotante. Rango: [0,1].

Valor predeterminado: 1

colsample_bynode

Proporción de la submuestra de columnas de cada nodo.

Opcional

Valores válidos: número flotante. Rango: (0,1].

Valor predeterminado: 1

colsample_bytree

Proporción de la submuestra de columnas cuando se construye cada árbol.

Opcional

Valores válidos: número flotante. Rango: [0,1].

Valor predeterminado: 1

csv_weights

Al habilitarse esta marca, XGBoost diferencia la importancia de las instancias para la entrada de CSV tomando la segunda columna (la columna tras las etiquetas) en los datos de capacitación como las ponderaciones de instancias.

Opcional

Valores válidos: 0 o 1

Valor predeterminado: 0

deterministic_histogram

Cuando este indicador está activado, XGBoost crea un histograma en la GPU de forma determinista. Se utiliza solo si tree_method se establece en gpu_hist.

Para obtener una lista completa de entradas válidas, consulte Parámetros de XGBoost.

Opcional

Valores válidos: Cadena. Rango: "true" o "false"

Valor predeterminado: "true"

early_stopping_rounds

El modelo realiza la capacitación hasta que la puntuación de validación para de mejorar. El error de validación debe disminuir al menos cada vez para continuar con el entrenamiento. early_stopping_rounds SageMakerEl alojamiento utiliza el mejor modelo de inferencia.

Opcional

Valores válidos: número entero.

Valor predeterminado: -

eta

Contracción del tamaño del paso utilizado en las actualizaciones para evitar el ajuste excesivo. Después de cada paso de potenciación, puede obtener directamente las ponderaciones de las nuevas características. El parámetro eta reduce realmente las ponderaciones de la característica para que el proceso de potenciación sea más conservador.

Opcional

Valores válidos: número flotante. Rango: [0,1].

Valor predeterminado: 0,3

eval_metric

Métricas de evaluación de los datos de validación. Una métrica predeterminada se asigna de acuerdo con el objetivo:

  • rmse: para la regresión

  • error: para la clasificación

  • map: para la clasificación

Para obtener una lista de entradas válidas, consulte XGBoost Learning Task Parameters.

Opcional

Valores válidos: Cadena.

Valor predeterminado: predeterminado según el objetivo.

gamma

La reducción de pérdida mínima necesaria para realizar una partición mayor en un nodo de hoja del árbol. Conforme mayor sea, más conservador será el algoritmo.

Opcional

Valores válidos: número flotante. Rango: [0,∞).

Valor predeterminado: 0

grow_policy

Controla la forma en la que se agregan los nuevos nodos al árbol. Es actualmente compatible solo si tree_method se establece en hist.

Opcional

Valores válidos: Cadena. "depthwise" o "lossguide".

Valor predeterminado: "depthwise"

interaction_constraints

Especifique los grupos de variables que pueden interactuar.

Opcional

Valores válidos: lista anidada de números enteros. Cada número entero representa una característica y cada lista anidada contiene características que pueden interactuar; por ejemplo, [[1,2], [3,4,5]].

Valor predeterminado: ninguno

lambda

El plazo de regularización de L2 sobre ponderaciones. Si aumenta este valor, hace que los modelos sean más conservadores.

Opcional

Valores válidos: número flotante.

Valor predeterminado: 1

lambda_bias

El plazo de regularización de L2 de sesgo.

Opcional

Valores válidos: número flotante. Rango: [0.0, 1.0].

Valor predeterminado: 0

max_bin

Número máximo de contenedores discretos en las características continuas del bucket. Se utiliza solo si tree_method se establece en hist.

Opcional

Valores válidos: número entero.

Valor predeterminado: 256

max_delta_step

El paso delta máximo permitido para la estimación de ponderación de cada árbol. Cuando se utiliza un número entero positivo, ayuda a hacer la actualización más conservadora. La opción preferida es usarla en la regresión logística. Establézcala en 1-10 para ayudar a controlar la actualización.

Opcional

Valores válidos: número entero. Rango: [0,∞).

Valor predeterminado: 0

max_depth

Profundidad máxima de un árbol. El aumento de este valor hace que el modelo sea más complejo y que se sobreajuste con más probabilidad. 0 indica que no hay límite. Se requiere un límite cuando grow_policy=depth-wise.

Opcional

Valores válidos: número entero. Rango: [0,∞)

Valor predeterminado: 6

max_leaves

Número máximo de nodos que se va agregar. Solo relevante si grow_policy se establece en lossguide.

Opcional

Valores válidos: número entero.

Valor predeterminado: 0

min_child_weight

Suma mínima de la ponderación de instancias (hessiana) necesaria en un elemento secundario. Si el paso de partición del árbol genera un nodo de hoja con la suma de la ponderación de instancia inferior a min_child_weight, el proceso de creación deja de realizar la partición. En los modelos de regresión lineal, esto simplemente se corresponde con un número mínimo de instancias necesarias en cada nodo. Conforme mayor sea el algoritmo, más conservador será.

Opcional

Valores válidos: número flotante. Rango: [0,∞).

Valor predeterminado: 1

monotone_constraints

Especifica las restricciones de monotonía de cualquier característica.

Opcional

Valores válidos: tupla de números enteros. Enteros válidos: -1 (restricción decreciente), 0 (sin restricción), 1 (restricción creciente).

Por ejemplo, (0, 1): no hay restricción en el primer predictor y hay una restricción creciente en el segundo. (-1, 1): hay restricción decreciente en el primer predictor y hay una restricción creciente en el segundo.

Valor predeterminado: (0, 0)

normalize_type

Tipo de algoritmo de normalización.

Opcional

Valores válidos: árbol o bosque.

Valor predeterminado: árbol

nthread

Número de subprocesos paralelos utilizados para ejecutar xgboost.

Opcional

Valores válidos: número entero.

Valor predeterminado: número máximo de subprocesos.

objective

Especifica la tarea de aprendizaje y el objetivo de aprendizaje correspondiente. Ejemplos: reg:logistic, multi:softmax, reg:squarederror. Para obtener una lista completa de entradas válidas, consulte XGBoost Learning Task Parameters.

Opcional

Valores válidos: string

Valor predeterminado: "reg:squarederror"

one_drop

Cuando esta marca esté habilitada, al menos se rechazará siempre un árbol durante el abandono.

Opcional

Valores válidos: 0 o 1

Valor predeterminado: 0

process_type

El tipo de proceso de potenciación que ejecutar.

Opcional

Valores válidos: Cadena. "default" o "update".

Valor predeterminado: "default"

rate_drop

La tasa de abandono que especifica la fracción de los árboles anteriores rechazados durante el abandono.

Opcional

Valores válidos: número flotante. Rango: [0.0, 1.0].

Valor predeterminado: 0,0

refresh_leaf

Se trata de un parámetro del complemento del actualizador 'actualizar'. Cuando se establece en true (1), se actualizan los estados del nodo de árbol y las hojas de árbol. Cuando se establece en false(0), solo se actualizan los estados de nodo de árbol.

Opcional

Valores válidos: 0/1

Valor predeterminado: 1

sample_type

Tipo de algoritmo de muestra.

Opcional

Valores válidos: uniform o weighted

Valor predeterminado: uniform

scale_pos_weight

Controla el equilibrio de las ponderaciones positivas y negativas. Resulta útil para las clases sin equilibrar. Un valor típico que tener en cuenta: sum(negative cases) / sum(positive cases).

Opcional

Valores válidos: número flotante

Valor predeterminado: 1

seed

Semilla de número aleatorio.

Opcional

Valores válidos: número entero

Valor predeterminado: 0

single_precision_histogram

Cuando este indicador está activado, XGBoost utiliza una precisión simple para crear histogramas, en lugar de una precisión doble. Solo se utiliza si tree_method se establece en hist o gpu_hist.

Para obtener una lista completa de entradas válidas, consulte Parámetros de XGBoost.

Opcional

Valores válidos: Cadena. Rango: "true" o "false"

Valor predeterminado: "false"

sketch_eps

Se utiliza solo para el algoritmo voraz aproximado. Traduce el número de contenedores O(1 / sketch_eps). En comparación con el número seleccionado directamente de contenedores, incluye la garantía teórica con la precisión del boceto.

Opcional

Valores válidos: número flotante, Rango: [0, 1].

Valor predeterminado: 0.03

skip_drop

Probabilidad de omisión del procedimiento de abandono durante una iteración de potenciación.

Opcional

Valores válidos: número flotante. Rango: [0.0, 1.0].

Valor predeterminado: 0,0

subsample

La proporción de la submuestra de la instancia de capacitación. Si se establece en 0,5, significa que XGBoost recopila de forma aleatoria la mitad de las instancias de datos para que los árboles crezcan. Esto evita el sobreajuste.

Opcional

Valores válidos: número flotante. Rango: [0,1].

Valor predeterminado: 1

tree_method

El algoritmo de la construcción del árbol se utiliza en XGBoost.

Opcional

Valores válidos: uno de auto, exact, approx, hist o gpu_hist.

Valor predeterminado: auto

tweedie_variance_power

Parámetro que controla la varianza de la distribución de Tweedie.

Opcional

Valores válidos: número flotante. Rango: (1, 2).

Valor predeterminado: 1.5

updater

Una cadena separada por comas que define la secuencia de los actualizadores de árbol que ejecutar. Esto proporciona una forma modular de crear y modificar los árboles.

Para obtener una lista completa de entradas válidas, consulte Parámetros de XGBoost.

Opcional

Valores válidos: cadena separada por comas

Valor predeterminado: grow_colmaker, omisión

use_dask_gpu_training

Configure use_dask_gpu_training en "true" si desea realizar un entrenamiento con GPU distribuido con Dask. El entrenamiento con GPU de Dask solo es compatible con las versiones 1.5-1 y posteriores. No establezca este valor en "true" para las versiones anteriores a 1.5-1. Para obtener más información, consulte Entrenamiento distribuido con GPU.

Opcional

Valores válidos: Cadena. Rango: "true" o "false"

Valor predeterminado: "false"

verbosity

Verbosidad de la impresión de los mensajes.

Valores válidos: 0 (silencio), 1 (advertencia), 2 (información), 3 (depuración).

Opcional

Valor predeterminado: 1