Spaces:
Sleeping
Sleeping
| """ | |
| This module sets up a CatBoost Regressor with hyperparameter tuning. | |
| Features: | |
| - Uses `CatBoostRegressor` estimator from CatBoost. | |
| - Defines a hyperparameter grid for boosting parameters. | |
| - Handles categorical features natively. | |
| Special Considerations: | |
| - Requires the `catboost` library (`pip install catboost`). | |
| - Adjust the preprocessing pipeline to skip encoding categorical features. | |
| - Not sensitive to feature scaling. | |
| - Can be slower to train compared to other boosting algorithms. | |
| """ | |
| from catboost import CatBoostRegressor | |
| # Define the estimator | |
| estimator = CatBoostRegressor(random_state=42, verbose=0) | |
| # Define the hyperparameter grid | |
| param_grid = { | |
| 'model__iterations': [500], # Fixed to a reasonable value for faster tuning | |
| 'model__learning_rate': [0.05, 0.1], # Common learning rates | |
| 'model__depth': [6, 8], # Typical depths for balance between speed and accuracy | |
| 'model__l2_leaf_reg': [3], # Most impactful regularization value | |
| 'preprocessor__num__imputer__strategy': ['mean'], # Single imputation strategy | |
| } | |
| # Optional: Define the default scoring metric | |
| default_scoring = 'neg_root_mean_squared_error' | |