cursus.steps.hyperparams.hyperparameters_xgboost_mt

Hyperparameters for XGBoost Multi-Task (one_output_per_tree) model training.

Extends ModelHyperparameters with XGBoost-specific and multi-task parameters.

class XgboostMtModelHyperparameters(*, full_field_list, cat_field_list, tab_field_list, id_name, label_name, multiclass_categories, categorical_features_to_encode=<factory>, model_class='xgboost_mt', device=-1, header=0, lr=3e-05, batch_size=2, eval_batch_size_multiplier=2.0, max_epochs=3, metric_choices=['f1_score', 'auroc'], optimizer='SGD', class_weights=None, task_label_names, main_task_index, n_estimators=600, max_depth=8, learning_rate=0.05, subsample=0.9, colsample_bytree=0.9, reg_alpha=0.5, reg_lambda=0.05, min_child_weight=0.1, early_stopping_rounds=10, seed=17, **extra_data)[source]

Bases: ModelHyperparameters

Hyperparameters for XGBoost Multi-Task model (one_output_per_tree via XGBClassifier).

Uses XGBoost native multi-output tree where each tree produces output for exactly one task in round-robin fashion.

task_label_names: list[str]
main_task_index: int
model_class: str
n_estimators: int
max_depth: int
learning_rate: float
subsample: float
colsample_bytree: float
reg_alpha: float
reg_lambda: float
min_child_weight: float
early_stopping_rounds: int | None
seed: int
property num_tasks: int

Get number of tasks derived from task_label_names.

validate_xgboost_mt_hyperparameters()[source]

Validate XGBoost MT specific hyperparameters.

get_public_init_fields()[source]

Override to include XGBoost MT-specific derived fields.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'allow', 'protected_namespaces': (), 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self (BaseModel) – The BaseModel instance.

  • context (Any) – The context.