XGBoost

class dro.src.tree_model.xgb.KLDRO_XGB(eps=0.1, kind='classification')

Bases: object

XGBoost model with KL-Divergence Distributionally Robust Optimization (DRO)

Parameters:
  • eps (float) – KL divergence constraint parameter (ε > 0, default: 0.1)

  • kind (str) – Task type (‘classification’ or ‘regression’, default: classification)

Raises:
  • ValueError – If invalid parameters are provided

  • TypeError – If inputs have incorrect types

Note

Requires XGBoost configuration via update() before training

Initialize KL-DRO XGBoost model

Parameters:
  • eps (float) – Robustness parameter (must be > 0)

  • kind (str) – Task type specification

Raises:

ValueError – For eps <= 0 or invalid task type

update(config)

Update XGBoost training configuration

Parameters:

config (dict) – XGBoost parameters dictionary

Raises:
  • KeyError – If missing ‘num_boost_round’ parameter

  • TypeError – For non-dictionary input

Return type:

None

loss(preds, labels)

Compute base loss values

Parameters:
Returns:

Loss values array (n_samples,)

Return type:

numpy.ndarray

Raises:

NotImplementedError – For unsupported task types

fit(X, y)

Train KL-DRO XGBoost model

Parameters:
Raises:
Return type:

None

predict(X)

Generate predictions

Parameters:

X (numpy.ndarray) – Input features (n_samples, n_features)

Returns:

Model predictions

Return type:

numpy.ndarray

Raises:

NotFittedError – If model is untrained

class dro.src.tree_model.xgb.CVaRDRO_XGB(eps=0.2, kind='classification')

Bases: object

XGBoost model with Conditional Value-at-Risk (CVaR) Distributionally Robust Optimization (DRO)

Parameters:
  • eps (float) – constraint parameter (1 > ε > 0, default: 0.2)

  • kind (str) – Task type (‘classification’ or ‘regression’, default: classification)

Raises:
  • ValueError – If invalid parameters are provided

  • TypeError – If inputs have incorrect types

Note

Requires XGBoost configuration via update() before training

Initialize CVaR-DRO XGBoost model

Parameters:
  • eps (float) – Robustness parameter (must be > 0)

  • kind (str) – Task type specification

Raises:

ValueError – For eps <= 0 or eps >= 1 or invalid task type

update(config)

Update XGBoost training configuration

Parameters:

config (dict) – XGBoost parameters dictionary

Raises:
  • KeyError – If missing ‘num_boost_round’ parameter

  • TypeError – For non-dictionary input

Return type:

None

loss(preds, labels)

Compute base loss values

Parameters:
Returns:

Loss values array (n_samples,)

Return type:

numpy.ndarray

Raises:

NotImplementedError – For unsupported task types

fit(X, y)

Train CVaR-DRO XGBoost model

Parameters:
Raises:
Return type:

None

predict(X)

Generate predictions

Parameters:

X (numpy.ndarray) – Input features (n_samples, n_features)

Returns:

Model predictions

Return type:

numpy.ndarray

Raises:

NotFittedError – If model is untrained