Auto¶
- class Auto(target_metric: etna.metrics.base.Metric, horizon: int, metric_aggregation: Literal['median', 'mean', 'std', 'percentile_5', 'percentile_25', 'percentile_75', 'percentile_95'] = 'mean', backtest_params: Optional[dict] = None, experiment_folder: Optional[str] = None, pool: Union[etna.auto.pool.generator.Pool, List[etna.pipeline.pipeline.Pipeline]] = Pool.default, runner: Optional[etna.auto.runner.base.AbstractRunner] = None, storage: Optional[optuna.storages._base.BaseStorage] = None, metrics: Optional[List[etna.metrics.base.Metric]] = None)[source]¶
Bases:
object
Automatic pipeline selection via defined or custom pipeline pool.
Initialize Auto class.
- Parameters
target_metric (etna.metrics.base.Metric) – metric to optimize
horizon (int) – horizon to forecast for
metric_aggregation (Literal['median', 'mean', 'std', 'percentile_5', 'percentile_25', 'percentile_75', 'percentile_95']) – aggregation method for per-segment metrics
backtest_params (Optional[dict]) – custom parameters for backtest instead of default backtest parameters
experiment_folder (Optional[str]) – folder to store experiment results and name for optuna study
pool (Union[etna.auto.pool.generator.Pool, List[etna.pipeline.pipeline.Pipeline]]) – pool of pipelines to choose from
runner (Optional[etna.auto.runner.base.AbstractRunner]) – runner to use for distributed training
storage (Optional[optuna.storages._base.BaseStorage]) – optuna storage to use
metrics (Optional[List[etna.metrics.base.Metric]]) – list of metrics to compute
- Inherited-members
Methods
fit
(ts[, timeout, n_trials, initializer, ...])Start automatic pipeline selection.
objective
(ts, target_metric, ...[, ...])Optuna objective wrapper.
summary
()Get Auto trials summary.
top_k
([k])Get top k pipelines.
- fit(ts: etna.datasets.tsdataset.TSDataset, timeout: Optional[int] = None, n_trials: Optional[int] = None, initializer: Optional[etna.auto.auto._Initializer] = None, callback: Optional[etna.auto.auto._Callback] = None, **optuna_kwargs) etna.pipeline.pipeline.Pipeline [source]¶
Start automatic pipeline selection.
- Parameters
ts (etna.datasets.tsdataset.TSDataset) – tsdataset to fit on
timeout (Optional[int]) – timeout for optuna. N.B. this is timeout for each worker
n_trials (Optional[int]) – number of trials for optuna. N.B. this is number of trials for each worker
initializer (Optional[etna.auto.auto._Initializer]) – is called before each pipeline backtest, can be used to initialize loggers
callback (Optional[etna.auto.auto._Callback]) – is called after each pipeline backtest, can be used to log extra metrics
optuna_kwargs – additional kwargs for optuna
optuna.study.Study.optimize()
- Return type
- static objective(ts: etna.datasets.tsdataset.TSDataset, target_metric: etna.metrics.base.Metric, metric_aggregation: Literal['median', 'mean', 'std', 'percentile_5', 'percentile_25', 'percentile_75', 'percentile_95'], metrics: List[etna.metrics.base.Metric], backtest_params: dict, initializer: Optional[etna.auto.auto._Initializer] = None, callback: Optional[etna.auto.auto._Callback] = None) Callable[[optuna.trial._trial.Trial], float] [source]¶
Optuna objective wrapper.
- Parameters
ts (etna.datasets.tsdataset.TSDataset) – tsdataset to fit on
target_metric (etna.metrics.base.Metric) – metric to optimize
metric_aggregation (Literal['median', 'mean', 'std', 'percentile_5', 'percentile_25', 'percentile_75', 'percentile_95']) – aggregation method for per-segment metrics
metrics (List[etna.metrics.base.Metric]) – list of metrics to compute
backtest_params (dict) – custom parameters for backtest instead of default backtest parameters
initializer (Optional[etna.auto.auto._Initializer]) – is called before each pipeline backtest, can be used to initialize loggers
callback (Optional[etna.auto.auto._Callback]) – is called after each pipeline backtest, can be used to log extra metrics
- Return type
Callable[[optuna.trial._trial.Trial], float]
- summary() pandas.core.frame.DataFrame [source]¶
Get Auto trials summary.
- Return type
pandas.core.frame.DataFrame
- top_k(k: int = 5) List[etna.pipeline.pipeline.Pipeline] [source]¶
Get top k pipelines.
- Parameters
k (int) – number of pipelines to return
- Return type