0Pricing
Learn AI with Python · Aula

LightGBM e CatBoost

Por que LightGBM é mais rápido, divisão baseada em histogramas e CatBoost para atributos categóricos.

LightGBM e CatBoost é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Além do XGBoost

O XGBoost é poderoso, mas pode ser lento em conjuntos de dados muito grandes. LightGBM e CatBoost são bibliotecas mais recentes de reforço por gradiente que aumentam a velocidade e lidam com dados categóricos de forma mais natural.

Divisões baseadas em histogramas

LightGBM agrupa características contínuas em intervalos discretos (um histograma) antes de encontrar as divisões. Isso torna a busca por divisões muito mais rápida e usa menos memória do que o método exato.

Crescimento de árvores folha a folha

Ao contrário do crescimento nível a nível, o LightGBM cresce as árvores folha a folha: primeiro divide a folha com a maior redução da perda. Isso converge mais rapidamente, mas pode causar sobreajuste; por isso, controle-o com num_leaves.

LGBMClassifier e num_leaves

num_leaves é o controle de complexidade mais importante do LightGBM. Valores maiores aumentam a acurácia, mas elevam o risco de sobreajuste. Uma regra prática é manter num_leaves < 2^max_depth.

from lightgbm import LGBMClassifier

model = LGBMClassifier(
    n_estimators=300,
    num_leaves=31,
    learning_rate=0.05,
    random_state=0,
)
model.fit(Xtr, ytr)
print(model.score(Xte, yte))

Vantagens de velocidade do LightGBM

Graças à divisão em intervalos de histograma, ao crescimento folha a folha e à subamostragem de características e dados, o LightGBM treina visivelmente mais rápido do que o XGBoost em conjuntos de dados grandes, muitas vezes com acurácia semelhante.

from lightgbm import LGBMClassifier

model = LGBMClassifier(
    n_estimators=1000,
    num_leaves=63,
    learning_rate=0.03,
    feature_fraction=0.8,
    bagging_fraction=0.8,
)

Parada antecipada no LightGBM

O LightGBM oferece parada antecipada por meio de funções de retorno. Passe um conjunto de avaliação e uma função de retorno early_stopping para interromper o treinamento quando a métrica se estabilizar.

import lightgbm as lgb
from lightgbm import LGBMClassifier

model = LGBMClassifier(n_estimators=2000, learning_rate=0.03)
model.fit(
    Xtr, ytr,
    eval_set=[(Xte, yte)],
    callbacks=[lgb.early_stopping(50)],
)

CatBoost e características categóricas

CatBoost se destaca com dados categóricos. Passe as colunas categóricas brutas diretamente por meio de cat_features, sem necessidade de codificação manual.

Internamente, ele usa estatísticas ordenadas do alvo para evitar o vazamento do alvo.

from catboost import CatBoostClassifier

model = CatBoostClassifier(
    iterations=500,
    learning_rate=0.05,
    depth=6,
    verbose=False,
)
model.fit(Xtr, ytr, cat_features=[0, 3, 5])

Por que não codificar é poderoso

Com outras bibliotecas, é necessário codificar as categorias com indicadores ou rótulos, o que pode aumentar muito a dimensionalidade ou vazar o alvo. O CatBoost lida com isso internamente usando o reforço ordenado, reduzindo o sobreajuste em características categóricas.

Principais parâmetros do CatBoost

O CatBoost usa iterations (como n_estimators), learning_rate e depth (ele cria árvores simétricas). Muitas vezes, ele funciona bem com um ajuste mínimo.

from catboost import CatBoostClassifier

model = CatBoostClassifier(
    iterations=1000,
    learning_rate=0.03,
    depth=8,
    l2_leaf_reg=3.0,
    verbose=100,
)

Comparação de velocidade

Orientação geral:

  • LightGBM geralmente é o mais rápido em conjuntos de dados numéricos grandes
  • CatBoost é melhor quando há muitas características categóricas e exige menos ajustes
  • XGBoost é maduro, robusto e tem bons valores padrão

Compare os três com seus dados; os resultados variam conforme o problema.

Escolhendo uma biblioteca

Se você tem muitos dados categóricos, comece com o CatBoost. Para tabelas numéricas enormes e velocidade, escolha o LightGBM. Para uma linha de base comprovada, use o XGBoost. Os três usam reforço por gradiente internamente, portanto os conceitos podem ser transferidos.

Verificação rápida

Teste seus conhecimentos sobre bibliotecas de reforço por gradiente.

Recapitulação

Recapitulação: O LightGBM usa crescimento baseado em histogramas e folha a folha, controlado por num_leaves, para obter velocidade com dados numéricos grandes. O CatBoost lida nativamente com características categóricas por meio de cat_features, sem codificação. Ambos, assim como o XGBoost, são variações de reforço por gradiente. Faça uma comparação para escolher: CatBoost para dados categóricos e LightGBM para velocidade.

Perguntas Frequentes

A aula “LightGBM e CatBoost” é grátis?

Sim — o texto completo de “LightGBM e CatBoost” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “LightGBM e CatBoost”?

Por que LightGBM é mais rápido, divisão baseada em histogramas e CatBoost para atributos categóricos. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “LightGBM e CatBoost”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Árvores de decisão: teoria e implementação
  2. Florestas aleatórias e bagging
  3. Gradient Boosting: GBM e XGBoost
  4. LightGBM e CatBoost
← Voltar para Learn AI with Python