etna.analysis.metric_per_segment_distribution_plot#
- metric_per_segment_distribution_plot(metrics_df: DataFrame, metric_name: str, per_fold_aggregation_mode: str | None = None, plot_type: Literal['hist'] | Literal['box'] | Literal['violin'] = 'hist', seaborn_params: Dict[str, Any] | None = None, figsize: Tuple[int, int] = (10, 5))[source]#
Plot distribution of metric values over all segments.
If for some segment all metric values are missing, it isn’t plotted, and the warning is raised.
If some segments have different set of folds with non-missing metrics, it can lead to incompatible values between folds. The warning is raised in such case.
- Parameters:
metrics_df (DataFrame) – dataframe with metrics calculated on the backtest
metric_name (str) – name of the metric to visualize
per_fold_aggregation_mode (str | None) –
If None, separate distributions for each fold will be drawn
If str, determines how to aggregate metrics over the folds if they aren’t already aggregated (see
PerFoldAggregation
)
plot_type (Literal['hist'] | ~typing.Literal['box'] | ~typing.Literal['violin']) – type of plot (see
MetricPlotType
)seaborn_params (Dict[str, Any] | None) – dictionary with parameters for plotting
figsize (Tuple[int, int]) – size of the figure per subplot with one segment in inches
- Raises:
ValueError: – if
metric_name
isn’t present inmetrics_df
NotImplementedError: – unknown
per_fold_aggregation_mode
is given
Warning
- UserWarning:
There are segments with all missing metric values.
- UserWarning:
Some segments have different set of folds to be aggregated on due to missing values.