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

Metadata

Release files for yohou-optuna 0.1.0a12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yohou-optuna 0.1.0a12
File Size Uploaded
yohou_optuna-0.1.0a12.tar.gz 452.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yohou-optuna 0.1.0a12
File Interpreter ABI Platform
yohou_optuna-0.1.0a12-py3-none-any.whl Python 3 none any Details

Total release size: 477.5 kB

Release files / yohou_optuna-0.1.0a12.tar.gz

Download URL yohou_optuna-0.1.0a12.tar.gz
Size 452.0 kB
Tags Source
SHA-256 checksum
How to use checksums
920412edb4510ec5201dcd8c4fececd81222ed76f3f61e4b10d7d5ecb0bc5837
BLAKE2b-256 checksum
How to use checksums
0963e764c33d6e2baf4c2503eb4073657dfa23f62114d2a8f96d04107ac284df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log

Release files / yohou_optuna-0.1.0a12-py3-none-any.whl

Download URL yohou_optuna-0.1.0a12-py3-none-any.whl
Size 25.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9595171c05272d17cbe495a115ae97e9457882a4269a9b4263bf7f6069315e89
BLAKE2b-256 checksum
How to use checksums
6801fcdcf7e06de77211292fabd9d9c4b025255215f566ab72a40e8fc877c3b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page