Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

XGBoost Versão 0.72

Modo de foco
XGBoost Versão 0.72 - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Importante

O XGBoost 0,72 foi descontinuado pela Amazon AI. SageMaker Você ainda pode usar essa versão antiga do XGBoost (como um algoritmo incorporado) extraindo o URI da imagem, conforme mostrado no exemplo de código a seguir. Para XGBoost, o URI da imagem que termina com :1 é para a versão antiga.

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")

Se você quiser usar versões mais recentes, precisará especificar explicitamente as etiquetas de URI da imagem (consulte Versões aceitas).

Essa versão anterior do XGBoost algoritmo Amazon SageMaker AI é baseada na versão 0.72. XGBoost(eXtreme Gradient Boosting) é uma implementação de código aberto popular e eficiente do algoritmo de árvores com aumento de gradiente. O aumento de gradiente é um algoritmo de aprendizado supervisionado que tenta prever com precisão uma variável-alvo combinando as estimativas de um conjunto de modelos mais simples e fracos. XGBoost tem se saído muito bem em competições de aprendizado de máquina porque lida de forma robusta com uma variedade de tipos de dados, relacionamentos e distribuições e devido ao grande número de hiperparâmetros que podem ser ajustados e ajustados para melhores ajustes. Essa flexibilidade é XGBoost uma escolha sólida para problemas de regressão, classificação (binária e multiclasse) e classificação.

Os clientes devem considerar o uso da nova versão do XGBoost algoritmo com Amazon SageMaker AI. Eles podem usá-lo como um algoritmo integrado de SageMaker IA ou como uma estrutura para executar scripts em seus ambientes locais, como normalmente fariam, por exemplo, com uma estrutura de aprendizado profundo do Tensorflow. A nova implementação tem um espaço de memória menor, melhor registro em log, melhor validação de hiperparâmetros e um conjunto expandido de métricas. A implementação anterior do XGBoost permanece disponível para os clientes se eles precisarem adiar a migração para a nova versão. Mas essa implementação anterior permanecerá vinculada à versão 0.72 do XGBoost.

Interface de entrada/saída para a versão 0.72 XGBoost

O aumento de gradiente trabalha em dados tabulares: as linhas representam as observações, uma coluna representa a variável de destino ou rótulo, e as demais colunas representam os atributos.

A implementação de SageMaker IA do XGBoost suporta os formatos CSV e libsvm para treinamento e inferência:

  • Para treinamento ContentType, as entradas válidas são text/libsvm (padrão) ou text/csv.

  • Para inferência ContentType, as entradas válidas são text/libsvm ou (o padrão) text/csv.

nota

Para treinamento de CSV, o algoritmo de treinamento pressupõe que a variável de destino está na primeira coluna e que o CSV não tem um registro de cabeçalho. Para inferência de CSV, o algoritmo pressupõe que a entrada do CSV não tem a coluna de rótulo.

Para o treinamento libsvm, o algoritmo assume que o rótulo esteja na primeira coluna. Colunas subsequentes contêm os pares de valores de índice baseados em zero para recursos. Portanto, cada linha tem o formato: <label> <index0>:<value0> <index1>:<value1> ... As solicitações de inferência para libsvm podem ou não ter rótulos no formato libsvm.

Isso difere de outros algoritmos de SageMaker IA, que usam o formato de entrada de treinamento protobuf para manter uma maior consistência com os formatos de XGBoost dados padrão.

Para o modo de entrada do treinamento CSV, a memória total disponível para o algoritmo (contagem de instância * a memória disponível no InstanceType) deve ser capaz de conter o conjunto de dados de treinamento. Para o modo de entrada de treinamento libsvm, não é necessário, mas recomendado.

SageMaker A IA XGBoost usa o módulo pickle do Python para o serialize/deserialize the model, which can be used for saving/loading modelo.

Para usar um modelo treinado com SageMaker IA XGBoost em código aberto XGBoost
  • Use o seguinte código do 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 a importância dos pontos de dados rotulados, use Apoios de peso de instância
  • SageMaker A IA XGBoost permite que os clientes diferenciem a importância dos pontos de dados rotulados atribuindo a cada instância um valor de peso. Para a entrada text/libsvm, os clientes podem atribuir valores de peso a instâncias de dados, anexando-os após os rótulos. Por exemplo, label:weight idx_0:val_0 idx_1:val_1.... Para entrada text/csv, os clientes precisam ativar o sinalizador csv_weights nos parâmetros e anexar valores de peso na coluna após os rótulos. Por exemplo: label,weight,val_0,val_1,...).

EC2 Recomendação de instância para a XGBoost versão 0.72

SageMaker XGBoost Atualmente, a IA treina apenas usando CPUs. É um algoritmo de uso intensivo de memória (ao contrário dos de uso intensivo de computação). Portanto, uma instância de computação de uso geral (por exemplo, M4) é uma opção melhor do que uma instância otimizada para computação (por exemplo, C4). Além disso, recomendamos que você tenha memória total suficiente em instâncias específicas para armazenar os dados de treinamento. Embora ele suporte o uso de espaço em disco para lidar com dados que não cabem na memória principal (o out-of-core recurso disponível com o modo de entrada libsvm), gravar arquivos de cache no disco diminui o tempo de processamento do algoritmo.

XGBoost Notebooks de amostra da versão 0.72

Para ver um exemplo de caderno que mostra como usar a versão mais recente da SageMaker IA XGBoost como um algoritmo integrado para treinar e hospedar um modelo de regressão, consulte Regressão com o algoritmo Amazon SageMaker AI XGBoost . Para usar a versão 0.72 do XGBoost, você precisa alterar a versão no código de amostra para 0.72. Para obter instruções sobre como criar e acessar instâncias do notebook Jupyter que você pode usar para executar o exemplo em SageMaker IA, consulte. Instâncias do Amazon SageMaker Notebook Depois de criar uma instância do notebook e abri-la, selecione a guia Exemplos de SageMaker IA para ver uma lista de todas as amostras de SageMaker IA. Os blocos de notas de exemplo de modelagem de tópicos usando os XGBoost algoritmos estão localizados na seção Introdução aos algoritmos da Amazon. Para abrir um caderno, clique em sua guia Uso e selecione Criar cópia.

XGBoost Hiperparâmetros da versão 0.72

A tabela a seguir contém os hiperparâmetros do XGBoost algoritmo. Esses parâmetros são definidos pelos usuários para facilitar a estimativa dos parâmetros do modelo a partir dos dados. Os hiperparâmetros necessários que devem ser definidos são listados primeiro, em ordem alfabética. Os hiperparâmetros opcionais que podem ser configurados são listados em seguida, também em ordem alfabética. O XGBoost algoritmo de SageMaker IA é uma implementação do XGBoost pacote de código aberto. Atualmente, o SageMaker AI suporta a versão 0.72. Para obter mais detalhes sobre a configuração de hiperparâmetros para essa versão do XGBoost, consulte XGBoostParâmetros.

Nome do parâmetro Descrição
num_class

O número de classes.

Obrigatório se objective estiver definido como multi:softmax ou multi:softprob.

Valores válidos: inteiro

num_round

O número de rodadas para execução do treinamento.

Obrigatório

Valores válidos: inteiro

alpha

Termo de regularização L1 nos pesos. Aumentar esse valor torna os modelos mais conservadores.

Opcional

Valores válidos: flutuante

Valor padrão: 0

base_score

A pontuação de predição inicial de todas as instâncias, a polarização global.

Opcional

Valores válidos: flutuante

Valor padrão: 0.5

booster

O objeto de aumento a ser usado. Os valores gbtree e dart usam um modelo baseado em árvore, enquanto gblinear usa uma função linear.

Opcional

Valores válidos: string. gbtree, gblinear ou dart.

Valor padrão: gbtree

colsample_bylevel

Taxa de subsampling de colunas para cada divisão, em cada nível.

Opcional

Valores válidos: flutuante. Intervalo: [0,1].

Valor padrão: 1

colsample_bytree

Taxa de subsampling de colunas ao criar cada árvore.

Opcional

Valores válidos: flutuante. Intervalo: [0,1].

Valor padrão: 1

csv_weights

Quando esse sinalizador está ativado, XGBoost diferencia a importância das instâncias para entrada de csv usando a segunda coluna (a coluna após os rótulos) nos dados de treinamento como os pesos da instância.

Opcional

Valores válidos: 0 ou 1

Valor padrão: 0

early_stopping_rounds

O modelo será treinado até que a pontuação de validação pare de melhorar. Os erros de validação precisam diminuir pelo menos a cada early_stopping_rounds para continuar o treinamento. SageMaker A hospedagem de IA usa o melhor modelo para inferência.

Opcional

Valores válidos: inteiro

Valor padrão: -

eta

Diminuição do tamanho das etapas: técnica usada em atualizações para evitar o sobreajuste. Depois de cada etapa de aumento, você pode obter os pesos dos novos atributos diretamente. Na verdade, o parâmetro eta diminui os pesos dos atributos para tornar o processo de aumento mais conservador.

Opcional

Valores válidos: flutuante. Intervalo: [0,1].

Valor padrão: 0.3

eval_metric

Métricas de avaliação para os dados de validação. Uma métrica padrão é atribuída de acordo com o objetivo:

  • rmse: para regressão

  • error: para classificação

  • map: para classificação

Para obter uma lista de entradas válidas, consulte XGBoost Parâmetros.

Opcional

Valores válidos: string

Valor padrão: de acordo com o objetivo.

gamma

A redução de perda mínima necessária para fazer uma partição adicional em um nó de folha da árvore. Quanto maior for o parâmetro, mais conservador será o algoritmo.

Opcional

Valores válidos: flutuante. Intervalo: [0,∞).

Valor padrão: 0

grow_policy

Controla a forma como os novos nós são adicionados à árvore. No momento, ele é apenas compatível quando tree_method está definido como hist.

Opcional

Valores válidos: string. depthwise ou lossguide.

Valor padrão: depthwise

lambda

Termo de regularização L2 nos pesos. Aumentar esse valor torna os modelos mais conservadores.

Opcional

Valores válidos: flutuante

Valor padrão: 1

lambda_bias

Termo de regularização L2 na polarização.

Opcional

Valores válidos: flutuante. Intervalo: [0.0, 1.0].

Valor padrão: 0

max_bin

O número máximo de compartilhamentos distintos para os atributos contínuos de bucket. Usado somente quando tree_method está definido como hist.

Opcional

Valores válidos: inteiro

Valor padrão: 256

max_delta_step

O máximo de etapas delta permitido para a estimativa de peso de cada árvore. Quando um inteiro positivo é usado, ajuda a tornar a atualização mais conservadora. A opção preferida é usá-lo em regressão logística. Defina-o como 1 a 10 para ajudar a controlar a atualização.

Opcional

Valores válidos: inteiro. Intervalo: [0,∞).

Valor padrão: 0

max_depth

A profundidade máxima de uma árvore. Aumentar esse valor torna o modelo mais complexo e propenso a sofrer sobreajuste. 0 indica que não há limite. Um limite é necessário quando grow_policy=depth-wise.

Opcional

Valores válidos: inteiro. Intervalo: [0,∞)

Valor padrão: 6

max_leaves

O número máximo de nós a ser adicionado. Relevante apenas quando grow_policy está definido como lossguide.

Opcional

Valores válidos: inteiro

Valor padrão: 0

min_child_weight

A soma mínima de peso de instância (hessiano) necessária em um elemento filho. Se a etapa de partição da árvore resulta em um nó de folha com a soma de peso de instância inferior a min_child_weight, o processo de criação cede mais particionamento. Em modelos de regressão linear, isso basicamente corresponde ao número mínimo de instâncias necessárias em cada nó. Quanto maior for o algoritmo, mais conservador ele será.

Opcional

Valores válidos: flutuante. Intervalo: [0,∞).

Valor padrão: 1

normalize_type

Tipo de algoritmo de normalização.

Opcional

Valores válidos: tree ou forest.

Valor padrão: tree

nthread

Número de threads paralelos usado para executar XGBoost.

Opcional

Valores válidos: inteiro

Valor padrão: o número máximo de threads.

objective

Especifica a tarefa de aprendizado e o objetivo de aprendizado correspondente. Exemplos: reg:logistic, reg:softmax, multi:squarederror. Para obter uma lista completa de entradas válidas, consulte XGBoost Parâmetros.

Opcional

Valores válidos: string

Valor padrão: reg:squarederror

one_drop

Quando esse sinalizador está habilitado, pelo menos uma árvore é sempre descartada durante o processo.

Opcional

Valores válidos: 0 ou 1

Valor padrão: 0

process_type

O tipo de processo de aumento a ser executado.

Opcional

Valores válidos: string. default ou update.

Valor padrão: default

rate_drop

A taxa de abandono que especifica a fração de árvores anteriores a serem descartadas durante o abandono.

Opcional

Valores válidos: flutuante. Intervalo: [0.0, 1.0].

Valor padrão: 0.0

refresh_leaf

Este é um parâmetro do plug-in do atualizador "refresh". Quando definido como true (1), as folhas da árvore e as estatísticas de nó da árvore são atualizadas. Quando definido como false (0), somente as estatísticas de nós da árvore são atualizadas.

Opcional

Valores válidos: 0/1

Valor padrão: 1

sample_type

Tipo de algoritmo de amostragem.

Opcional

Valores válidos: uniform ou weighted.

Valor padrão: uniform

scale_pos_weight

Controla o equilíbrio dos pesos positivos e negativos. É útil para classes desbalanceadas. Um valor típico a ser considerado: sum(negative cases) / sum(positive cases).

Opcional

Valores válidos: flutuante

Valor padrão: 1

seed

Origem de número aleatório.

Opcional

Valores válidos: inteiro

Valor padrão: 0

silent

0 significa mensagens de execução de impressão, 1 significa modo silencioso.

Valores válidos: 0 ou 1

Opcional

Valor padrão: 0

sketch_eps

Usado apenas para algoritmo voraz aproximado. Isso se converte em O(1 / número de compartimentos sketch_eps) Em comparação com o número de compartimentos diretamente selecionado, esse parâmetro agrega garantia teórica com precisão de esboço.

Opcional

Valores válidos: flutuante. Intervalo: [0, 1].

Valor padrão: 0.03

skip_drop

Probabilidade de ignorar o procedimento de dropout durante uma iteração de aumento.

Opcional

Valores válidos: flutuante. Intervalo: [0.0, 1.0].

Valor padrão: 0.0

subsample

Taxa de subsampling da instância de treinamento. Defini-lo como 0,5 significa que coleta XGBoost aleatoriamente metade das instâncias de dados para cultivar árvores. Isso evita o sobreajuste.

Opcional

Valores válidos: flutuante. Intervalo: [0,1].

Valor padrão: 1

tree_method

O algoritmo de construção de árvores usado em XGBoost.

Opcional

Valores válidos: Um de auto, exact, approx ou hist.

Valor padrão: auto

tweedie_variance_power

O parâmetro que controla a variação da distribuição Tweedie.

Opcional

Valores válidos: flutuante. Intervalo: (1, 2).

Valor padrão: 1.5

updater

Uma string separada por vírgulas que define a sequência de atualizadores de árvore a ser executada. Isso fornece uma forma modular de construir e modificar as árvores.

Para obter uma lista completa de entradas válidas, consulte XGBoost Parâmetros.

Opcional

Valores válidos: string separada por vírgulas.

Valor padrão: grow_colmaker, prune

Ajuste e XGBoost libere o modelo 0.72

O ajuste automático de modelos, também conhecido como ajuste de hiperparâmetros, localiza a melhor versão de um modelo executando vários trabalhos que testam uma série de hiperparâmetros no seu conjunto de dados de treinamento e validação. Você escolhe três tipos de hiperparâmetros:

  • uma função de objective de aprendizado para otimizar durante o treinamento de modelo

  • uma eval_metric para usar para avaliar o desempenho do modelo durante a validação

  • um conjunto de hiperparâmetros e uma faixa de valores para cada um usar ao ajustar o modelo automaticamente

Você escolhe a métrica de avaliação do conjunto de métricas de avaliação que o algoritmo calcula. O ajuste automático de modelos pesquisa os hiperparâmetros escolhidos para encontrar a combinação de valores que resultam no modelo que otimiza a métrica de avaliação.

Para mais informações sobre o ajuste de modelos, consulte Ajuste automático do modelo com SageMaker IA.

Métricas calculadas pelo algoritmo XGBoost Release 0.72

O XGBoost algoritmo baseado na versão 0.72 calcula as nove métricas a seguir para usar na validação do modelo. Ao ajustar o modelo, escolha uma destas métricas para avaliar o modelo. Para obter uma lista completa de eval_metric valores válidos, consulte Parâmetros da tarefa de XGBoost aprendizagem

Nome da métrica Descrição Direção de otimização
validation:auc

Área sob a curva.

Maximizar

validation:error

Taxa de erro de classificação binária, calculada como #(casos errados)/#(todos os casos).

Minimizar

validation:logloss

Verossimilhança de log negativa.

Minimizar

validation:mae

Erro absoluto médio.

Minimizar

validation:map

Precisão média da média.

Maximizar

validation:merror

Taxa de erro de classificação multiclasse, calculada como #(casos errados)/#(todos os casos).

Minimizar

validation:mlogloss

Verossimilhança de log negativa para classificação multiclasse.

Minimizar

validation:ndcg

Ganho cumulativo descontado normalizado.

Maximizar

validation:rmse

Erro quadrático médio.

Minimizar

Hiperparâmetros da XGBoost versão ajustável 0.72

Ajuste o XGBoost modelo com os seguintes hiperparâmetros. Os hiperparâmetros que têm o maior efeito na otimização das métricas de XGBoost avaliação são:alpha,min_child_weight, subsampleeta, e. num_round

Nome do parâmetro Tipo de parâmetro Intervalos recomendados
alpha

ContinuousParameterRanges

MinValue: 0, MaxValue 100

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 100

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

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.