| 1 | pip install lightgbm | Instalação via terminal | !pip install lightgbm |
| 2 | import lightgbm as lgb | Importação convencional | import lightgbm as lgb |
| 3 | lgb.LGBMClassifier() | Estimador para classificação (Scikit-Learn API) | clf = lgb.LGBMClassifier() |
| 4 | lgb.LGBMRegressor() | Estimador para regressão (Scikit-Learn API) | reg = lgb.LGBMRegressor() |
| 5 | lgb.Dataset() | Formato de dados nativo e eficiente do LightGBM | train_data = lgb.Dataset(X, label=y) |
| 6 | boosting_type | Algoritmo de boosting ('gbdt', 'dart', 'goss', 'rf') | boosting_type='gbdt' |
| 7 | num_leaves | Número máximo de folhas em uma árvore (Principal) | num_leaves=31 |
| 8 | max_depth | Limita a profundidade da árvore (evita overfitting) | max_depth=-1 |
| 9 | learning_rate | Taxa de aprendizado (shrinkage) | learning_rate=0.05 |
| 10 | n_estimators | Número de iterações de boosting (árvores) | n_estimators=1000 |
| 11 | min_child_samples | Número mínimo de dados em uma folha (min_data_in_leaf) | min_child_samples=20 |
| 12 | min_child_weight | Soma mínima do hessiano necessária em uma folha | min_child_weight=0.001 |
| 13 | subsample | Fração de dados usados para treinar cada árvore | subsample=0.8 |
| 14 | subsample_freq | Frequência para realizar o bagging | subsample_freq=5 |
| 15 | colsample_bytree | Fração de features selecionadas por árvore | colsample_bytree=0.8 |
| 16 | reg_alpha | Regularização L1 (Lasso) | reg_alpha=0.1 |
| 17 | reg_lambda | Regularização L2 (Ridge) | reg_lambda=0.1 |
| 18 | random_state | Semente para garantir resultados idênticos | random_state=42 |
| 19 | n_jobs | Número de núcleos de CPU para processamento | n_jobs=-1 |
| 20 | objective | Função objetivo ('binary', 'multiclass', 'regression') | objective='binary' |
| 21 | metric | Métrica de avaliação ('auc', 'rmse', 'mae', 'logloss') | metric='auc' |
| 22 | early_stopping_rounds | Para se a métrica não melhorar após X rounds | early_stopping_rounds=50 |
| 23 | categorical_feature | Lista de índices/nomes de colunas categóricas | categorical_feature=['c1', 'c2'] |
| 24 | verbose | Controla o log de treinamento (-1 silêncio, 1 log) | verbose=-1 |
| 25 | .fit() | Treina o modelo com X e y | model.fit(X_train, y_train) |
| 26 | .predict() | Prediz classes ou valores contínuos | y_pred = model.predict(X_test) |
| 27 | .predict_proba() | Prediz probabilidades (classificação) | y_prob = model.predict_proba(X_test) |
| 28 | .score() | Retorna a acurácia ou R² médio | model.score(X_test, y_test) |
| 29 | lgb.plot_importance() | Plota a importância das variáveis | lgb.plot_importance(model) |
| 30 | lgb.plot_tree() | Visualização gráfica de uma árvore específica | lgb.plot_tree(model, tree_index=0) |
| 31 | lgb.plot_metric() | Plota o histórico da métrica durante o treino | lgb.plot_metric(evals_result) |
| 32 | lgb.create_tree_digraph() | Cria um objeto Graphviz da árvore | lgb.create_tree_digraph(model) |
| 33 | feature_importances_ | Vetor com a importância de cada atributo | print(model.feature_importances_) |
| 34 | ds.save_binary() | Salva o Dataset em arquivo binário (rápido) | train_data.save_binary('t.bin') |
| 35 | ds.construct() | Constrói o dataset explicitamente | train_data.construct() |
| 36 | ds.set_categorical_feature() | Define categorias após a criação do dataset | ds.set_categorical_feature([0, 1]) |
| 37 | device | Dispositivo de treino ('cpu' ou 'gpu') | device='gpu' |
| 38 | gpu_platform_id | ID da plataforma OpenCL para GPU | gpu_platform_id=0 |
| 39 | gpu_device_id | ID do dispositivo GPU específico | gpu_device_id=0 |
| 40 | num_thread | Número de threads (mesmo que n_jobs) | num_thread=4 |
| 41 | force_col_wise | Força construção de histogramas por coluna | force_col_wise=True |
| 42 | force_row_wise | Força construção de histogramas por linha | force_row_wise=True |
| 43 | .save_model() | Salva modelo treinado em arquivo de texto | model.save_model('lgbm.txt') |
| 44 | lgb.Booster(model_file=) | Carrega modelo a partir de arquivo | bst = lgb.Booster(model_file='lgbm.txt') |
| 45 | .dump_model() | Retorna estrutura do modelo em formato JSON | json_model = model.dump_model() |
| 46 | leaf_wise | Estratégia padrão de crescimento (mais rápido) | grow_policy='leaf_wise' |
| 47 | depth_wise | Crescimento por nível (estilo XGBoost) | grow_policy='depth_wise' |
| 48 | top_rate | Usado no GOSS (porcentagem de dados com alto gradiente) | top_rate=0.2 |
| 49 | other_rate | Usado no GOSS (porcentagem de dados com baixo gradiente) | other_rate=0.1 |
| 50 | fobj | Função de perda customizada | lgb.train(..., fobj=my_loss) |
| 51 | feval | Função de métrica customizada | lgb.train(..., feval=my_metric) |
| 52 | is_unbalance | Trata datasets desbalanceados (binário) | is_unbalance=True |
| 53 | scale_pos_weight | Peso para a classe positiva | scale_pos_weight=5.0 |
| 54 | bagging_fraction | Sinônimo de subsample | bagging_fraction=0.8 |
| 55 | feature_fraction | Sinônimo de colsample_bytree | feature_fraction=0.9 |
| 56 | extra_trees | Usa splits aleatórios (estilo ExtraTrees) | extra_trees=True |
| 57 | path_smooth | Suavização para caminhos em árvores | path_smooth=1.0 |
| 58 | max_bin | Número máximo de bins para agrupar features | max_bin=255 |
| 59 | min_data_in_bin | Dados mínimos por bin do histograma | min_data_in_bin=3 |
| 60 | data_random_seed | Semente para amostragem de dados | data_random_seed=1 |
| 61 | feature_fraction_seed | Semente para frações de features | feature_fraction_seed=2 |
| 62 | bin_construct_sample_cnt | Amostras para construir os bins | bin_construct_sample_cnt=200000 |
| 63 | interaction_constraints | Lista de restrições de interação | interaction_constraints=[[0, 1], [2, 3]] |
| 64 | monotone_constraints | Restrição de monotonicidade (1 cresce, -1 decresce) | monotone_constraints=(1, -1, 0) |
| 65 | lambda_l1 | Sinônimo de reg_alpha | lambda_l1=0.1 |
| 66 | lambda_l2 | Sinônimo de reg_lambda | lambda_l2=0.1 |
| 67 | min_gain_to_split | Ganho mínimo para realizar um split | min_gain_to_split=0.01 |
| 68 | top_k | Usado no algoritmo de votação paralela | top_k=20 |
| 69 | header | Se os dados têm cabeçalho (ao ler arquivo) | header=True |
| 70 | label_column | Índice da coluna alvo em arquivos | label_column=0 |
| 71 | weight_column | Índice da coluna de pesos em arquivos | weight_column=1 |
| 72 | group_column | Índice da coluna de grupo para Ranking | group_column=2 |
| 73 | ignore_column | Colunas para ignorar no treino | ignore_column=[3, 4] |
| 74 | precise_float_parser | Usa parser de float de alta precisão | precise_float_parser=True |
| 75 | two_round | Lê o arquivo de dados em duas passadas (economiza RAM) | two_round=True |
| 76 | input_model | Arquivo de modelo para continuar o treino | input_model='old.model' |
| 77 | output_model | Nome do arquivo de saída do modelo | output_model='new.model' |
| 78 | snapshot_freq | Frequência para salvar snapshots do modelo | snapshot_freq=10 |
| 79 | verbosity_freq | Frequência de logs de métricas | verbosity_freq=10 |
| 80 | save_binary | Salva dados em binário para reuso | save_binary=True |
| 81 | enable_bundle | Habilita Exclusive Feature Bundling (EFB) | enable_bundle=True |
| 82 | use_missing | Habilita tratamento de valores nulos | use_missing=True |
| 83 | zero_as_missing | Trata o valor zero como nulo (NaN) | zero_as_missing=True |
| 84 | feature_pre_filter | Pré-filtra features constantes ou inúteis | feature_pre_filter=True |
| 85 | is_enable_sparse | Habilita otimização para dados esparsos | is_enable_sparse=True |
| 86 | sparse_threshold | Threshold para considerar dado como esparso | sparse_threshold=0.8 |
| 87 | use_quantized_grad | Usa gradientes quantizados (mais rápido) | use_quantized_grad=True |
| 88 | num_grad_quant_bins | Número de bins para quantização de gradiente | num_grad_quant_bins=4 |
| 89 | linear_tree | Usa modelos lineares nas folhas | linear_tree=True |
| 90 | refit_decay_rate | Taxa de decaimento para refit de dados | refit_decay_rate=0.9 |
| 91 | cegb_tradeoff | Tradeoff para o Cost-Efficient Gradient Boosting | cegb_tradeoff=1.0 |
| 92 | cegb_penalty_feature_lazy | Penalidade para features no CEGB | cegb_penalty_feature_lazy=[1, 1] |
| 93 | min_data_per_group | Dados mínimos por grupo em Ranking | min_data_per_group=100 |
| 94 | max_conflict_rate | Taxa de conflito máxima para EFB | max_conflict_rate=0.0 |
| 95 | categorical_column | Índices de colunas categóricas nativas | categorical_column=[12] |
| 96 | predict_disable_shape_check | Desativa checagem de shape no predict | predict_disable_shape_check=True |