Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Yohou-Optuna

Python Version License PyPI Version Conda Version codecov

What is Yohou-Optuna?

Yohou-Optuna brings Optuna's hyperparameter optimization to Yohou, providing a Yohou-compatible search class for time series forecasting.

This integration replaces grid and random search with adaptive sampling (TPE, CMA-ES, and more) while keeping Yohou's forecasting API intact. After fitting, OptunaSearchCV behaves like a Yohou forecaster, so you can call predict, observe, and observe_predict directly.

It integrates with Optuna's distributions, samplers, and storages, and wraps them for sklearn-style cloning and serialization.

What are the features of Yohou-Optuna?

  • Adaptive optimization: Run Optuna studies over Yohou forecasters with TPE, CMA-ES, and other samplers to find better configurations in fewer trials.
  • Forecaster-native API: OptunaSearchCV is a forecaster after fitting, so you can call predict, observe, observe_predict, and interval methods.
  • Clone-safe wrappers: Sampler, Storage, and Callback wrappers ensure Optuna objects survive sklearn cloning and serialization.
  • Time-series CV support: Works with Yohou splitters for proper temporal validation and scorer integration.
  • Multi-metric evaluation: Evaluate multiple scorers and refit on the one that matters most for your use case.
  • (Experimental) Persistence workflows: Resume studies with storage-backed optimization and continue tuning over time.

How to install Yohou-Optuna?

Install the Yohou-Optuna package using pip:

pip install yohou_optuna

or using uv:

uv pip install yohou_optuna

or using conda:

conda install -c conda-forge yohou_optuna

or using mamba:

mamba install -c conda-forge yohou_optuna

or alternatively, add yohou_optuna to your requirements.txt or pyproject.toml file.

How to get started with Yohou-Optuna?

1. Prepare a forecaster and search space

Define a Yohou forecaster and Optuna distributions for the parameters you want to tune.

from sklearn.linear_model import Ridge
from optuna.distributions import FloatDistribution, IntDistribution

from yohou.point import PointReductionForecaster
from yohou_optuna import OptunaSearchCV

forecaster = PointReductionForecaster(estimator=Ridge())
param_distributions = {
    "estimator__alpha": FloatDistribution(1e-4, 10.0, log=True),
    "observation_horizon": IntDistribution(3, 30),
}

search = OptunaSearchCV(
    forecaster=forecaster,
    param_distributions=param_distributions,
    n_trials=30,
)

2. Fit the searcher

Fit the searcher on your time series data (polars DataFrame with a time column).

search.fit(y_train, X_train, forecasting_horizon=12)

3. Predict with the best forecaster

After fitting, search behaves like a Yohou forecaster.

y_pred = search.predict(forecasting_horizon=12)
print(search.best_params_)

How do I use Yohou-Optuna?

Full documentation is available at https://yohou-optuna.readthedocs.io/.

Interactive examples are available in the examples/ directory:

Can I contribute?

We welcome contributions, feedback, and questions:

If you are interested in becoming a maintainer or taking a more active role, please reach out to Guillaume Tauzin on GitHub Discussions.

Where can I learn more?

Here are the main Yohou-Optuna resources:

For questions and discussions, you can also open a discussion.

License

This project is licensed under the terms of the Apache-2.0 License.

How do I cite Yohou-Optuna?

If you use Yohou-Optuna in work you publish, please cite it:

Guillaume Tauzin. Yohou-Optuna: An Optuna integration for hyperparameter tuning in Yohou. https://github.com/stateful-y/yohou-optuna

Or in BibTeX:

@software{yohou_optuna,
  author  = "Guillaume Tauzin",
  title   = "{Yohou-Optuna: An Optuna integration for hyperparameter tuning in Yohou}",
  url     = "https://github.com/stateful-y/yohou-optuna",
  license = "Apache-2.0"
}

Reference managers can read CITATION.cff directly. To cite a specific version, see the citation page.

Acknowledgements

This project is maintained by stateful-y, an ML consultancy specializing in time series data science & engineering. If you're interested in collaborating or learning more about our services, please visit our website.

Made by stateful-y

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yohou_optuna-0.1.0a10.tar.gz (440.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yohou_optuna-0.1.0a10-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file yohou_optuna-0.1.0a10.tar.gz.

File metadata

  • Download URL: yohou_optuna-0.1.0a10.tar.gz
  • Upload date:
  • Size: 440.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for yohou_optuna-0.1.0a10.tar.gz
Algorithm Hash digest
SHA256 63cac2d111a93c31860d1c9036513f7d735025f924b1b898df7835b6816746d5
MD5 e488868cadccd870b78093d9f35f6bbd
BLAKE2b-256 37d1d8465ced6314a7865acd7a63844276ae9dcb3bae306ac132327a9c401bb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for yohou_optuna-0.1.0a10.tar.gz:

Publisher: publish-release.yml on stateful-y/yohou-optuna

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file yohou_optuna-0.1.0a10-py3-none-any.whl.

File metadata

  • Download URL: yohou_optuna-0.1.0a10-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for yohou_optuna-0.1.0a10-py3-none-any.whl
Algorithm Hash digest
SHA256 b5141c76e261ff3735fb130b941d0bc5a85fdbd3705ffa0631521e0c638e8563
MD5 cb7a76d8c5436bbb299da1e3a4da22e0
BLAKE2b-256 d4cbeb31c2c0a8090239446a219e6d2224968f5a6259057925993a0b842b9069

See more details on using hashes here.

Provenance

The following attestation bundles were made for yohou_optuna-0.1.0a10-py3-none-any.whl:

Publisher: publish-release.yml on stateful-y/yohou-optuna

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page