Hiperparâmetros LightGBM - 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á.

Hiperparâmetros LightGBM

A tabela a seguir contém o subconjunto de hiperparâmetros que são necessários ou mais comumente usados para o algoritmo Amazon SageMaker AI LightGBM. Os usuários definem esses parâmetros para facilitar a estimativa dos parâmetros do modelo a partir dos dados. O algoritmo SageMaker AI LightGBM é uma implementação do pacote LightGBM de código aberto.

nota

Os hiperparâmetros padrão são baseados em conjuntos de dados de exemplo no Exemplos de cadernos LightGBM.

Por padrão, o algoritmo SageMaker AI LightGBM escolhe automaticamente uma métrica de avaliação e uma função objetiva com base no tipo de problema de classificação. O algoritmo LightGBM detecta o tipo de problema de classificação com base no número de rótulos em seus dados. Para problemas de regressão, a métrica de avaliação é a raiz do erro quadrático médio e a função objetivo é a perda de L2. Para problemas de classificação binária, a métrica de avaliação e a função objetiva são ambas entropia cruzada binária. Para problemas de classificação multiclasse, a métrica de avaliação é entropia cruzada multiclasse e a função objetivo é softmax. Você pode usar o hiperparâmetro metric para alterar a métrica de avaliação padrão. Consulte a tabela a seguir para obter mais informações sobre os hiperparâmetros do LightGBM, incluindo descrições, valores válidos e valores padrão.

Nome do parâmetro Descrição
num_boost_round

O número máximo de iterações de reforço. Nota: Internamente, o LightGBM constrói árvores num_class * num_boost_round para problemas de classificação multiclasse.

Valores válidos: inteiro, intervalo: inteiro positivo.

Valor padrão: 100.

early_stopping_rounds

O treinamento será interrompido se uma métrica de um ponto de dados de validação não melhorar na última rodada early_stopping_rounds. Se early_stopping_rounds for menor ou igual a zero, esse hiperparâmetro será ignorado.

Valores válidos: inteiro.

Valor padrão: 10.

metric

A métrica de avaliação para os dados de validação. Se metric for definido como o valor padrão "auto", o algoritmo escolherá automaticamente uma métrica de avaliação com base no tipo de problema de classificação:

  • rmse para regressão

  • binary_logloss para classificação binária

  • multi_logloss para classificação de várias classes

Valores válidos: string, qualquer um dos seguintes: ("auto","rmse", "l1", "l2", "huber", "fair", "binary_logloss", "binary_error", "auc", "average_precision", "multi_logloss", "multi_error", "auc_mu" ou"cross_entropy").

Valor padrão: "auto".

learning_rate

A taxa na qual os pesos do modelo são atualizados depois de analisar cada lote de exemplos de treinamento.

Valores válidos: flutuante. Intervalo: (0.0, 1.0).

Valor padrão: 0.1.

num_leaves

O número máximo de folhas em uma árvore.

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

Valor padrão: 64.

feature_fraction

Um subconjunto de atributos a serem selecionados em cada iteração (árvore). Deve ser menor que 1.0.

Valores válidos: flutuante. Intervalo: (0.0, 1.0).

Valor padrão: 0.9.

bagging_fraction

Um subconjunto de atributos semelhantes a feature_fraction, mas bagging_fraction seleciona aleatoriamente parte dos dados sem reamostragem.

Valores válidos: flutuante. Intervalo: (0.0, 1.0).

Valor padrão: 0.9.

bagging_freq

A frequência para realizar o ensacamento. Em cada iteração bagging_freq, o LightGBM seleciona aleatoriamente uma porcentagem dos dados a serem usados na próxima iteração bagging_freq. Essa porcentagem é determinada pelo hiperparâmetro bagging_fraction. Se bagging_freq for zero, o ensacamento será desativado.

Valores válidos: inteiro, intervalo: inteiro não negativo.

Valor padrão: 1.

max_depth

A profundidade máxima de um modelo de árvore. Isso é usado para lidar com o sobreajuste quando a quantidade de dados é pequena. Se max_depth for menor ou igual a zero, isso significa que não há limite para a profundidade máxima.

Valores válidos: inteiro.

Valor padrão: 6.

min_data_in_leaf

A quantidade mínima de dados em uma folha. Pode ser usado para lidar com o sobreajuste.

Valores válidos: inteiro, intervalo: inteiro não negativo.

Valor padrão: 3.

max_delta_step

Usado para limitar a produção máxima de folhas de árvores. Se max_delta_step for menor ou igual a 0, não haverá restrição. A saída máxima final das folhas é learning_rate * max_delta_step.

Valores válidos: flutuante.

Valor padrão: 0.0.

lambda_l1

regularização L1.

Valores válidos: flutuante, intervalo: flutuante não negativo.

Valor padrão: 0.0.

lambda_l2

regularização L2.

Valores válidos: flutuante, intervalo: flutuante não negativo.

Valor padrão: 0.0.

boosting

Tipo de reforço

Valores válidos: string, qualquer um dos seguintes: ("gbdt", "rf", "dart" ou "goss").

Valor padrão: "gbdt".

min_gain_to_split

O ganho mínimo para realizar uma divisão. Pode ser usado para acelerar o treinamento.

Valores válidos: inteiro, flutuante: flutuante não negativo.

Valor padrão: 0.0.

scale_pos_weight

O peso dos rótulos com classe positiva. Usado somente para tarefas de classificação binária. scale_pos_weight não pode ser usado se is_unbalance estiver definido como "True".

Valores válidos: flutuante, intervalo: flutuante positivo

Valor padrão: 1.0.

tree_learner

Tipo de aprendiz em árvore.

Valores válidos: string, qualquer um dos seguintes: ("serial", "feature", "data" ou "voting").

Valor padrão: "serial".

feature_fraction_bynode

Seleciona um subconjunto de atributos aleatórios em cada nó da árvore. Por exemplo, se feature_fraction_bynode for0.8, 80% dos atributos serão selecionados. Pode ser usado para lidar com o sobreajuste.

Valores válidos: inteiro, Intervalo: (0.0, 1.0).

Valor padrão: 1.0.

is_unbalance

Defina como "True" se os dados de treinamento estiverem desbalanceados. Usado somente para tarefas de classificação binária. is_unbalance não pode ser usado com scale_pos_weight.

Valores válidos: string, ou: ("True" ou "False").

Valor padrão: "False".

max_bin

O número máximo de buckets usados para armazenar valores de atributos no bucket. Um pequeno número de compartimentos pode reduzir a precisão do treinamento, mas pode aumentar o desempenho geral. Pode ser usado para lidar com o sobreajuste.

Valores válidos: inteiro, Intervalo: (1, ∞).

Valor padrão: 255.

tweedie_variance_power

Controla a variação da distribuição Tweedie. Defina este valor mais próximo a 2.0 para mudar para uma distribuição gama. Defina este valor mais próximo a 1.0 para mudar para uma distribuição Poisson. Usado somente para tarefas de regressão.

Valores válidos: flutuante. Intervalo: (1.0, 2.0).

Valor padrão: 1.5.

num_threads

Número de threads paralelos usado para executar LightGBM. O valor 0 significa o número padrão de threads no OpenMP.

Valores válidos: inteiro, intervalo: inteiro não negativo.

Valor padrão: 0.

verbosity

A verbosidade das mensagens impressas. Se verbosity for menor que0, as mensagens impressas mostrarão apenas erros fatais. Se verbosity estiver definido como 0, as mensagens impressas incluirão erros e avisos. Se verbosity for 1, as mensagens impressas mostrarão mais informações. Um verbosity maior que 1 mostra a maioria das informações nas mensagens impressas e pode ser usado para depuração.

Valores válidos: inteiro.

Valor padrão: 1.