Extensions¶
Extension packages add forecasters, metrics, and integrations to Yohou. This page lists all official and community extensions, and documents the base classes available for building custom components.
Official Extensions¶
| Name | Install | Description |
|---|---|---|
| yohou-optuna | uv add yohou-optuna |
Hyperparameter optimization via Optuna. Provides OptunaSearchCV as a drop-in replacement for GridSearchCV and RandomizedSearchCV. (source) |
| yohou-nixtla | uv add yohou-nixtla |
Integration with Nixtla forecasting libraries (statsforecast, mlforecast, neuralforecast). Wraps Nixtla models as Yohou forecasters. (source) |
Community Extensions¶
No community extensions are listed yet. Community extensions can be submitted via a GitHub issue.
Extension Points¶
All custom components inherit from one of the base classes below. Each base class provides the estimator interface (fit, predict, score, etc.) and requires subclasses to implement specific abstract methods.
For step-by-step implementation guides, see Create a Point Forecaster, Create an Interval Forecaster, Create a Transformer, and Create a Custom Scorer. For an explanation of how tags, MRO merging, and dynamic configuration work, see Extending Yohou.
Forecasters¶
| Base Class | Import | Abstract Methods |
|---|---|---|
BasePointForecaster |
yohou.point |
fit(), _predict_one() |
BaseIntervalForecaster |
yohou.interval |
fit(), _predict_interval_one() |
BaseClassProbaForecaster |
yohou.class_proba |
fit(), _predict_class_proba_one() |
Scorers¶
| Base Class | Import | Abstract Methods |
|---|---|---|
BasePointScorer |
yohou.metrics |
_compute_raw_errors() |
BaseIntervalScorer |
yohou.metrics |
_compute_raw_scores() |
BaseClassProbaScorer |
yohou.metrics |
_compute_raw_errors() |
Transformers¶
| Base Class | Import | Frame Contract | Abstract Methods |
|---|---|---|---|
BaseActualTransformer |
yohou.base |
Single-axis: ["time", ...] |
_transform(), get_feature_names_out() |
BaseForecastTransformer |
yohou.base |
Two-axis: ["vintage_time", "time", ...] |
_transform(), get_feature_names_out() |
Optional overrides: _fit() (default no-op), _inverse_transform() (required only for invertible transformers).
The two bases differ in the frame they accept, not in the methods you implement. Only BaseActualTransformer has the observe/rewind memory API, which carries a buffer between calls; a forecast transformer refits per vintage and keeps nothing across calls, so neither applies. Before subclassing BaseForecastTransformer, check whether the operation can be expressed per vintage, in which case wrapping an actual transformer in PerVintageActualTransformer is the normal path; the wrapped transformer may be stateful, since each vintage is fitted on its own rows. Subclass only for genuinely cross-vintage work. See Transformer Kinds.
Splitters¶
| Base Class | Import | Abstract Methods |
|---|---|---|
BaseSplitter |
yohou.model_selection |
split(), _iter_test_indices(), get_n_splits() |
Search Strategies¶
| Base Class | Import | Abstract Methods |
|---|---|---|
BaseSearchCV |
yohou.model_selection.search |
_run_search() |
Built-in implementations: GridSearchCV, RandomizedSearchCV. Extend BaseSearchCV only for custom search strategies (e.g., Bayesian optimization).
See Also¶
- Tags: tag system for declaring component capabilities
- Data Catalog: bundled datasets for testing and examples