> ## Documentation Index
> Fetch the complete documentation index at: https://freelance-4888ed08.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Parameters

> Complete reference for CatBoost search spaces, lag features, and Optuna optimization in parameters.yml

The system's behavior is controlled by a centralized configuration file located at `conf/base/parameters.yml`. This ensures that experiment parameters — including CatBoost (Gradient boosting library optimized for categorical features.) hyperparameters and Optuna (Bayesian hyperparameter optimization framework using TPE sampling.) search spaces — are versioned alongside the code.

## Feature Engineering

Configuration for lag generation used by the `create_feature_interactions` node.

```yaml parameters.yml theme={null}
feature_engineering:
  demand_lags: [1, 2, 22, 23]   # Target (cnt) lag values
  feature_lags:
    hour: [1, 2, 3]              # Hour of day lags
    day_of_week: [1, 2, 3]       # Day of week lags
    weather_condition: [1, 2, 3]  # Weather condition lags
    temp: [1, 2, 3]              # Temperature lags
    humidity: [1, 2, 3]          # Humidity lags
```

## Optimization Search Spaces

Defines the boundaries for the Optuna Bayesian optimization of CatBoost.

```yaml parameters.yml theme={null}
optuna:
  n_trials: 150
  primary_model: catboost
  catboost_search_space:
    learning_rate:
      min: 0.01
      max: 0.3
    depth:
      min: 4
      max: 12
    l2_leaf_reg:
      min: 1.0
      max: 10.0
    n_estimators:
      min: 100
      max: 500
    min_data_in_leaf:
      min: 5
      max: 50
```

## Advanced Features

The DAG supports optional multi-objective and ensemble training, controlled by flags in `parameters.yml`.

```yaml parameters.yml theme={null}
advanced_features:
  enable_multi_objective: true
  enable_ensemble: true
  multi_objective_trials: 50
  objectives:
    - rmse
    - mae
  preference_weights:
    rmse: 0.6
    mae: 0.4
  ensemble_type: stacking
```

> [!TIP]
>
> Set `enable_multi_objective` or `enable_ensemble` to `false` to skip advanced training tasks and reduce pipeline runtime.

## Monitoring & Automation

Parameters used by the `automated_retraining_dag.py` to decide when retraining is triggered.

```yaml parameters.yml theme={null}
monitoring:
  drift_threshold: 0.1

automation:
  time_interval_days: 7
  performance_threshold: 5.0
  data_volume_threshold: 10000
```

## General Settings

| Parameter | Value | Description |
| :- | :- | :- |
| `train_fraction` | `0.8` | 80/20 chronological train/test split. |
| `data_processing.random_state` | `42` | Random seed for reproducibility. |
| `optuna.n_trials` | `150` | Number of optimization trials per run. |
| `optuna.primary_model` | `catboost` | Primary model algorithm. |
| `dataset_name` | `preprocessed_bike_data` | Name of preprocessed dataset. |
| `enable_data_docs` | `false` | Toggle data documentation generation. |

***

## Related Pages

> [card] [Training & Optimization](https://freelance-4888ed08.mintlify.site/ml-solution/training-optimization.md)
>
> How these parameters drive the CatBoost + Optuna training pipeline.

> [card] [Feature Engineering](https://freelance-4888ed08.mintlify.site/ml-solution/feature-engineering.md)
>
> How lag and feature interaction parameters are applied to raw data.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.