Skip to content

Add SVR baseline model#392

Open
abdelghanibelgaid wants to merge 5 commits intoWUR-AI:mainfrom
abdelghanibelgaid:abdelghanibelgaid-svr
Open

Add SVR baseline model#392
abdelghanibelgaid wants to merge 5 commits intoWUR-AI:mainfrom
abdelghanibelgaid:abdelghanibelgaid-svr

Conversation

@abdelghanibelgaid
Copy link
Copy Markdown
Contributor

@abdelghanibelgaid abdelghanibelgaid commented Dec 14, 2025

Summary

This PR adds a Support Vector Regression (SVR) baseline to CY-Bench, following the same structure as the existing scikit-learn baselines.

Changes

  • Added SVRModel in cybench/models/svr_model.py

    • Uses sklearn.svm.SVR with an RBF kernel (C=1.0, epsilon=0.1) as the base estimator.
    • Reuses the BaseSklearnModel feature pipeline (same design as SklearnRidge and SklearnRF).
    • Enables the internal hyperparameter search with a small parameter grid:
      • estimator__C: [0.1, 1.0, 10.0]
      • estimator__epsilon: [0.01, 0.1, 0.5]
  • Added residual variant:

    • SVRRes in cybench/models/residual_models.py, wrapping SVRModel inside the existing ResidualModel logic.
  • Registered the new models in the benchmark runner:

    • Imported SVRModel and SVRRes in cybench/runs/run_benchmark.py.
    • Exposed them in _BASELINE_MODEL_CONSTRUCTORS as "SVRModel" and "SVRRes" so they can be run as standard baselines.
  • Updated plotting utilities:

    • Extended model_short_names in cybench/runs/results_plots.py with:
      • "SVRModel": "SVR"
      • "SVRRes": "SVR-Res"

Notes

  • The implementation mirrors the pattern used for SklearnRandomForest and XGBoostModel, so SVR shares the same feature engineering and evaluation pipeline.
  • No additional dependencies are introduced; SVR is part of the existing scikit-learn dependency.

Checklist

  • Added SVRModel with BaseSklearnModel feature pipeline
  • Added SVRRes residual wrapper
  • Registered models in run_benchmark.py
  • Added short names in results_plots.py
  • Updated model docs if you prefer to list SVR explicitly

Closes #378.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant