Saltar al contenido principal

LGBMClassifier

Model
DashAI.back.models.scikit_learn.LGBMClassifier

LightGBM gradient boosting classifier for tabular data.

LightGBM grows trees leaf-wise (choosing the leaf with the largest loss reduction at each step) instead of level-wise, combined with histogram-based feature binning, which typically yields faster training and lower memory usage than level-wise boosting methods on large tabular datasets, at the cost of being more prone to overfitting on small ones (mitigated via num_leaves and min_child_samples).

Key hyperparameters include n_estimators (number of boosting rounds), num_leaves, learning_rate, subsample, colsample_bytree, reg_alpha, reg_lambda, and min_child_samples. The implementation wraps lightgbm.LGBMClassifier.

References

Parameters

n_estimators : integer, default=100
The number of boosting rounds, i.e. the number of trees to fit sequentially. Must be an integer greater than or equal to 1.
num_leaves : integer, default=31
The maximum number of leaves per tree. This is LightGBM's main capacity control, since it grows trees leaf-wise rather than level-wise. Must be an integer greater than 1.
learning_rate : number, default=0.1
Step size shrinkage applied to each tree's contribution. Lower values need more estimators but generalise better.
subsample : number, default=1.0
Fraction of training samples randomly drawn to grow each tree (bagging fraction). Values below 1.0 introduce randomness that helps prevent overfitting.
colsample_bytree : number, default=1.0
Fraction of features randomly sampled when building each tree. Values below 1.0 decorrelate the trees, reducing overfitting.
reg_alpha : number, default=0.0
L1 regularization term on the tree leaf weights. Use 0 for none.
reg_lambda : number, default=0.0
L2 regularization term on the tree leaf weights. Use 0 for none.
min_child_samples : integer, default=20
The minimum number of samples required in a leaf. LightGBM's main safeguard against overfitting on small datasets, since it grows trees leaf-wise.
class_weight, default=None
Weights associated with classes, used to correct for class imbalance. 'balanced' automatically adjusts weights inversely proportional to class frequencies. Use None for no weighting. Only applies to multiclass problems, or binary problems where is_unbalance/scale_pos_weight is not set.

Methods

calculate_metrics(self, split: DashAI.back.core.enums.metrics.SplitEnum = <SplitEnum.VALIDATION: 'validation'>, level: DashAI.back.core.enums.metrics.LevelEnum = <LevelEnum.LAST: 'last'>, log_index: int = None, x_data: 'DashAIDataset' = None, y_data: 'DashAIDataset' = None)

Defined on BaseModel

Calculate and save metrics for a given data split and level.

Parameters

split : SplitEnum
The data split to evaluate (TRAIN, VALIDATION, or TEST). Defaults to SplitEnum.VALIDATION.
level : LevelEnum
The metric granularity level (LAST, TRIAL, STEP, or BATCH). Defaults to LevelEnum.LAST.
log_index : int, optional
Explicit step index for the metric entry. If None, the next step index is computed automatically. Defaults to None.
x_data : DashAIDataset, optional
Input features. If None, the dataset stored in the model for the given split is used. Defaults to None.
y_data : DashAIDataset, optional
Target labels. If None, the labels stored in the model for the given split are used. Defaults to None.

get_metadata(cls) -> Dict[str, Any]

Defined on BaseModel

Get metadata values for the current model.

Returns

Dict[str, Any]
Dictionary containing UI metadata such as the model icon used in the DashAI frontend.

get_schema(cls) -> dict

Defined on ConfigObject

Generates the component related Json Schema.

Returns

dict
Dictionary representing the Json Schema of the component.

load(filename: str) -> None

Defined on SklearnLikeModel

Deserialise a model from disk using joblib.

Parameters

filename : str
Path to the file previously written by :meth:save.

Returns

SklearnLikeModel
The loaded model instance.

predict(self, x_pred: 'DashAIDataset') -> 'ndarray'

Defined on SklearnLikeClassifier

Make a prediction with the model

Parameters

x_pred : DashAIDataset
Dataset with the input data columns.

Returns

np.ndarray
Array with the predicted target values for x_pred

prepare_dataset(self, dataset: 'DashAIDataset', is_fit: bool = False) -> 'DashAIDataset'

Defined on CategoricalEncoderMixin

Encode categorical feature columns into a numeric representation.

Parameters

dataset : DashAIDataset
The input dataset to preprocess.
is_fit : bool
If True, fit the encoders on the data. If False, apply previously fitted encoders. Defaults to False.

Returns

DashAIDataset
The dataset with categorical columns converted to numeric columns.

prepare_output(self, dataset: 'DashAIDataset', is_fit: bool = False) -> 'DashAIDataset'

Defined on CategoricalEncoderMixin

Prepare output targets using label encoding.

Parameters

dataset : DashAIDataset
The output dataset to be transformed.
is_fit : bool, optional
If True, fit the encoder. If False, use existing encodings.

Returns

DashAIDataset
Dataset with categorical columns converted to integers.

save(self, filename: str) -> None

Defined on SklearnLikeModel

Serialise the model to disk using joblib.

Parameters

filename : str
Destination file path where the model will be written.

train(self, x_train, y_train, x_validation=None, y_validation=None)

Defined on SklearnLikeModel

Train the sklearn model on the provided dataset.

Parameters

x_train : DashAIDataset
The input features for training.
y_train : DashAIDataset
The target labels for training.
x_validation : DashAIDataset, optional
Validation input features (unused in sklearn models). Defaults to None.
y_validation : DashAIDataset, optional
Validation target labels (unused in sklearn models). Defaults to None.

Returns

BaseModel
The fitted scikit-learn estimator (self).

validate_and_transform(self, raw_data: dict) -> dict

Defined on ConfigObject

It takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.

Parameters

raw_data : dict
A dictionary with the data provided by the user to initialize the model.

Returns

dict
A validated dictionary with the necessary objects.

Compatible with