Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

XGBoost Versión 0.72

Modo de enfoque
XGBoost Versión 0.72 - Amazon SageMaker AI

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.

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.

importante

Amazon SageMaker AI ha dejado de usar la XGBoost 0.72. Puede seguir utilizando esta versión antigua de XGBoost (como algoritmo integrado) extrayendo el URI de la imagen, tal y como se muestra en el siguiente ejemplo de código. Pues XGBoost, el URI de la imagen que termina en :1 es para la versión anterior.

SageMaker Python SDK v1
import boto3 from sagemaker.amazon.amazon_estimator import get_image_uri xgb_image_uri = get_image_uri(boto3.Session().region_name, "xgboost", repo_version="1")
SageMaker Python SDK v2
import boto3 from sagemaker import image_uris xgb_image_uri = image_uris.retrieve("xgboost", boto3.Session().region_name, "1")
import boto3 from sagemaker.amazon.amazon_estimator import get_image_uri xgb_image_uri = get_image_uri(boto3.Session().region_name, "xgboost", repo_version="1")

Si desea utilizar versiones más recientes, deberá especificar las etiquetas de URI de la imagen (consulte Versiones compatibles).

Esta versión anterior del XGBoost algoritmo Amazon SageMaker AI se basa en la versión 0.72. XGBoost(eXtreme Gradient Boosting) es una implementación popular y eficiente de código abierto del algoritmo de árboles potenciados por gradiente. El aumento del gradiente es un algoritmo de aprendizaje supervisado que intenta predecir con precisión una variable objetivo mediante la combinación de las estimaciones de un conjunto de modelos más simples y débiles. XGBoost ha obtenido excelentes resultados en las competiciones de aprendizaje automático, ya que maneja de forma sólida una variedad de tipos de datos, relaciones y distribuciones, y debido a la gran cantidad de hiperparámetros que se pueden ajustar y ajustar para mejorar los ajustes. Esta flexibilidad constituye XGBoost una buena opción para los problemas de regresión, clasificación (binaria y multiclase) y clasificación.

Los clientes deben tener en cuenta la posibilidad de utilizar la nueva versión de XGBoost algoritmo con Amazon SageMaker AI. Pueden usarlo como un algoritmo integrado de SageMaker IA o como un marco para ejecutar scripts en sus entornos locales, como lo harían normalmente, por ejemplo, con un marco de aprendizaje profundo de Tensorflow. La nueva implementación ocupa menos espacio en memoria, tiene un mejor registro, una validación de hiperparámetros mejorada y un conjunto ampliado de métricas. La implementación anterior de XGBoost permanece disponible para los clientes si necesitan posponer la migración a la nueva versión. Sin embargo, esta implementación anterior seguirá vinculada a la versión 0.72 de. XGBoost

Interfaz de entrada/salida para la versión 0.72 XGBoost

La potenciación de gradientes funciona en los datos tabulares, con las filas que representan observaciones, una columna que representa la variable de destino o la etiqueta, y las columnas restantes que representan las características.

La implementación de SageMaker IA XGBoost admite los formatos CSV y libsvm para entrenamiento e inferencia:

  • Para Training ContentType, las entradas válidas son text/libsvm (predeterminado) o text/csv.

  • Para la inferencia ContentType, las entradas válidas son text/libsvm o (por defecto) text/csv.

nota

Para la capacitación de CSV, el algoritmo asume la variable de destino en la primera columna y ese CSV no dispone de un registro de encabezado. Para la inferencia de CSV, el algoritmo asume que la entrada de CSV no dispone de la columna de etiqueta.

Para la capacitación de libsvm, el algoritmo presupone que la etiqueta está en la primera columna. Las columnas siguientes contienen los pares índice-valor basados en cero para las características. Así pues, cada fila tiene el formato: <label> <index0>:<value0> <index1>:<value1> ... Las solicitudes de inferencia para libsvm pueden tener o no etiquetas en el formato libsvm.

Esto difiere de otros algoritmos de SageMaker IA, que utilizan el formato de entrada de entrenamiento protobuf para mantener una mayor coherencia con los formatos de datos estándar. XGBoost

Para el modo de entrada de capacitación de CSV, la memoria total disponible para el algoritmo (recuento de instancia * la memoria disponible en InstanceType) debe poder almacenar el conjunto de datos de capacitación. Para el modo de entrada de capacitación de libsvm, no es necesario, pero recomendable.

SageMaker La IA XGBoost utiliza el módulo pickle de Python para serialize/deserialize the model, which can be used for saving/loading el modelo.

Para usar un modelo entrenado con SageMaker IA XGBoost en código abierto XGBoost
  • Utilice el siguiente código de Python:

    import pickle as pkl import tarfile import xgboost t = tarfile.open('model.tar.gz', 'r:gz') t.extractall() model = pkl.load(open(model_file_path, 'rb')) # prediction with test data pred = model.predict(dtest)
Para diferenciar la importancia de los puntos de datos etiquetados utilice los soportes de ponderación de instancias
  • SageMaker La IA XGBoost permite a los clientes diferenciar la importancia de los puntos de datos etiquetados asignando un valor de peso a cada instancia. Para la entrada text/libsvm, los clientes pueden asignar valores de ponderación a las instancias de datos añadiéndolos después de las etiquetas. Por ejemplo, label:weight idx_0:val_0 idx_1:val_1.... Para la entrada text/csv, los clientes deben activar la marca csv_weights en los parámetros y asociar los valores de ponderación en la columna después de las etiquetas. Por ejemplo, label,weight,val_0,val_1,....

EC2 Recomendación de instancia para la versión 0.72 XGBoost

SageMaker XGBoost Actualmente, la IA solo entrena usando CPUs. Se trata de un algoritmo de vinculación de memoria (como se opone en la vinculación de computación). Por lo tanto, una instancia de computación de uso general (por ejemplo, M4) es una opción mejor que una instancia optimizada de computación (por ejemplo, C4). Además, recomendamos que disponga de suficiente memoria en total en las instancias seleccionadas para almacenar los datos de capacitación. Aunque admite el uso del espacio en disco para gestionar datos que no caben en la memoria principal ( out-of-corefunción disponible en el modo de entrada libsvm), escribir archivos de caché en el disco reduce el tiempo de procesamiento del algoritmo.

XGBoost Cuadernos de muestra de la versión 0.72

Para ver un ejemplo de cuaderno que muestra cómo utilizar la última versión de la SageMaker IA XGBoost como algoritmo integrado para entrenar y alojar un modelo de regresión, consulte Regresión con el XGBoost algoritmo de SageMaker IA de Amazon. Para usar la versión 0.72 de XGBoost, debe cambiar la versión del código de ejemplo a la 0.72. Para obtener instrucciones sobre cómo crear instancias de Jupyter Notebook y acceder a ellas para ejecutar el ejemplo en SageMaker IA, consulte. Instancias de Amazon SageMaker Notebook Una vez que haya creado una instancia de bloc de notas y la haya abierto, seleccione la pestaña Ejemplos de SageMaker IA para ver una lista de todos los ejemplos de SageMaker IA. El tema Modelado de cuadernos de ejemplo con los XGBoost algoritmos se encuentra en la sección Introducción a los algoritmos de Amazon. Para abrir un cuaderno, haga clic en la pestaña Usar y seleccione Crear copia.

XGBoost Versión 0.72 Hyperparameters

La siguiente tabla contiene los hiperparámetros del algoritmo. 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 XGBoost algoritmo de SageMaker IA es una implementación del paquete de código abierto XGBoost . Actualmente, SageMaker AI es compatible con la versión 0.72. Para obtener más información sobre la configuración de hiperparámetros para esta versión de XGBoost, consulte XGBoost Parámetros.

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_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

Cuando este indicador está activado, XGBoost diferencia la importancia de las instancias a la hora de introducir archivos csv tomando la segunda columna (la columna que sigue a las etiquetas) de los datos de entrenamiento como ponderación de las instancias.

Opcional

Valores válidos: 0 o 1

Valor predeterminado: 0

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 tiene que reducirse en, al menos, cada early_stopping_rounds para que el entrenamiento continúe. SageMaker El alojamiento de IA 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 Parámetros.

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

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

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, reg:softmax, multi:squarederror. Para obtener una lista completa de las entradas válidas, consulte XGBoost Parámetros.

Opcional

Valores válidos: cadena

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

silent

0 significa mensajes de ejecución de impresión, 1 significa modo silencioso.

Valores válidos: 0 o 1

Opcional

Valor predeterminado: 0

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, se XGBoost recopilará aleatoriamente la mitad de las instancias de datos para hacer crecer árboles. Esto evita el sobreajuste.

Opcional

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

Valor predeterminado: 1

tree_method

El algoritmo de construcción de árboles utilizado en XGBoost.

Opcional

Valores válidos: uno de entre los valores auto, exact, approx o 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 las entradas válidas, consulte los XGBoost parámetros.

Opcional

Valores válidos: cadena separada por comas

Valor predeterminado: grow_colmaker, omisión

Ajuste y XGBoost publique el modelo 0.72

El ajuste de modelo automático, también conocido como ajuste de hiperparámetros, encuentra la mejor versión de un modelo ejecutando distintas tareas que prueban una serie de hiperparámetros en los conjuntos de datos de validación y entrenamiento. Puede elegir tres tipos de hiperparámetros:

  • Una función objective de aprendizaje que se debe optimizar durante el entrenamiento con modelos.

  • Una eval_metric para usar al evaluar el rendimiento del modelo durante la validación.

  • Un conjunto de hiperparámetros y un rango de valores para emplear al ajustar el modelo automáticamente.

Usted elige la métrica de evaluación del conjunto de métricas de evaluación que calcula el algoritmo. El ajuste de modelo automático busca los hiperparámetros elegidos para encontrar la combinación de valores que genere el modelo que optimiza la métrica de evaluación.

Para obtener más información acerca del ajuste de modelos, consulte Ajuste automático de modelos con IA SageMaker .

Métricas calculadas mediante el algoritmo de la versión 0.72 XGBoost

El XGBoost algoritmo basado en la versión 0.72 calcula las siguientes nueve métricas para utilizarlas en la validación del modelo. Al ajustar el modelo, elija una de estas métricas para evaluarlo. Para obtener una lista completa de eval_metric valores válidos, consulte los parámetros de las tareas de XGBoost aprendizaje

Nombre de métrica Descripción Dirección de optimización
validation:auc

Área bajo la curva.

Maximizar

validation:error

Tasa de errores de clasificación binaria, calculada como #(casos erróneos)/#(todos los casos).

Minimizar

validation:logloss

Probabilidad de registro negativa.

Minimizar

validation:mae

Error absoluto medio.

Minimizar

validation:map

Precisión media.

Maximizar

validation:merror

Tasa de errores de clasificación multiclase, calculada como #(casos erróneos)/#(todos los casos).

Minimizar

validation:mlogloss

Probabilidad de registro negativa para la clasificación multiclase.

Minimizar

validation:ndcg

Ganancia acumulativa con descuento normalizada.

Maximizar

validation:rmse

Raíz del error cuadrático medio.

Minimizar

Hiperparámetros ajustables de XGBoost la versión 0.72

Ajuste el XGBoost modelo con los siguientes hiperparámetros. Los hiperparámetros que tienen el mayor efecto en la optimización de las métricas de XGBoost evaluación son:alpha,min_child_weight, subsampleeta, y. num_round

Nombre del parámetro Tipo de parámetro Intervalos recomendados
alpha

ContinuousParameterRanges

MinValue: 0, MaxValue: 1000

colsample_bylevel

ContinuousParameterRanges

MinValue: 0,1, MaxValue: 1

colsample_bytree

ContinuousParameterRanges

MinValue: 0,5, MaxValue: 1

eta

ContinuousParameterRanges

MinValue: 0,1, MaxValue 0,5

gamma

ContinuousParameterRanges

MinValue: 0, MaxValue 5

lambda

ContinuousParameterRanges

MinValue: 0, MaxValue 1000

max_delta_step

IntegerParameterRanges

[0, 10]

max_depth

IntegerParameterRanges

[0, 10]

min_child_weight

ContinuousParameterRanges

MinValue: 0, MaxValue 120

num_round

IntegerParameterRanges

[1, 4000]

subsample

ContinuousParameterRanges

MinValue: 0,5, MaxValue: 1

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.