torch_frame.gbdt.CatBoost

class CatBoost(task_type: TaskType, num_classes: Optional[int] = None, metric: Optional[Metric] = None)[source]

Bases: GBDT

A CatBoost model implementation with hyper-parameter tuning using Optuna.

This implementation extends GBDT and aims to find optimal hyperparameters by optimizing the given objective function.

objective(trial: Any, train_x: DataFrame, train_y: ndarray, val_x: DataFrame, val_y: ndarray, cat_features: ndarray, num_boost_round: int) float[source]

Objective function to be optimized.

Parameters:
  • trial (optuna.trial.Trial) – Optuna trial object.

  • train_x (DataFrame) – Train data.

  • train_y (numpy.ndarray) – Train label.

  • val_x (DataFrame) – Validation data.

  • val_y (numpy.ndarray) – Validation label.

  • cat_features (numpy.ndarray) – Array containing indexes of categorical features.

  • num_boost_round (int) – Number of boosting round.

Returns:

Best objective value. Root mean squared error for regression task and accuracy for classification task.

Return type:

float