base¶
Classes
Abstract class for metric. |
|
|
Base class for all the multi-segment metrics. |
|
Enum for different metric aggregation modes. |
|
Protocol for |
|
Enum for different metric function signatures. |
- class Metric(metric_fn: etna.metrics.base.MetricFunction, mode: str = MetricAggregationMode.per_segment, metric_fn_signature: str = 'array_to_scalar', **kwargs)[source]¶
Base class for all the multi-segment metrics.
How it works: Metric computes
metric_fn
value for each segment in given forecast dataset and aggregates it according to mode.Init Metric.
- Parameters
metric_fn (etna.metrics.base.MetricFunction) – functional metric
mode (str) –
“macro” or “per-segment”, way to aggregate metric values over segments:
if “macro” computes average value
if “per-segment” – does not aggregate metrics
metric_fn_signature (str) – type of signature of
metric_fn
(seeMetricFunctionSignature
)kwargs – functional metric’s params
- Raises
NotImplementedError: – If non-existent
mode
is used.NotImplementedError: – If non-existent
metric_fn_signature
is used.
- set_params(**params: dict) etna.core.mixins.TMixin ¶
Return new object instance with modified parameters.
Method also allows to change parameters of nested objects within the current object. For example, it is possible to change parameters of a
model
in aPipeline
.Nested parameters are expected to be in a
<component_1>.<...>.<parameter>
form, where components are separated by a dot.- Parameters
**params – Estimator parameters
self (etna.core.mixins.TMixin) –
params (dict) –
- Returns
New instance with changed parameters
- Return type
etna.core.mixins.TMixin
Examples
>>> from etna.pipeline import Pipeline >>> from etna.models import NaiveModel >>> from etna.transforms import AddConstTransform >>> model = model=NaiveModel(lag=1) >>> transforms = [AddConstTransform(in_column="target", value=1)] >>> pipeline = Pipeline(model, transforms=transforms, horizon=3) >>> pipeline.set_params(**{"model.lag": 3, "transforms.0.value": 2}) Pipeline(model = NaiveModel(lag = 3, ), transforms = [AddConstTransform(in_column = 'target', value = 2, inplace = True, out_column = None, )], horizon = 3, )
- to_dict()¶
Collect all information about etna object in dict.
- abstract property greater_is_better: Optional[bool]¶
Whether higher metric value is better.
- property name: str¶
Name of the metric for representation.