VisualizationProvider#
- class openstef_beam.analysis.visualizations.base.VisualizationProvider(**data: Any) None[source]
Bases:
BaseConfigAbstract base class for creating visualizations from evaluation reports.
Provides a unified interface for generating different types of visualizations at various aggregation levels. Subclasses must implement specific visualization logic for each supported aggregation type.
- Parameters:
data (
Any)
-
name:
str
- create(reports: list[tuple[TargetMetadata, EvaluationSubsetReport]], aggregation: AnalysisAggregation) VisualizationOutput[source]
Creates a visualization based on evaluation reports and aggregation level.
Validates the aggregation type, groups reports appropriately, and delegates to the specific creation method. Ensures data consistency constraints are met for each aggregation type.
- Parameters:
reports (
list[tuple[TargetMetadata,EvaluationSubsetReport]]) – List of (metadata, evaluation_report) tuples containing the data to visualize.aggregation (
AnalysisAggregation) – The aggregation level determining how reports are grouped and visualized.reports
aggregation
- Returns:
A visualization output containing the generated plot or HTML content.
- Raises:
ValueError – If aggregation is not supported by this provider, if the number of reports doesn’t match the aggregation requirements, if reports have inconsistent run_name for GROUP aggregation, or if reports have inconsistent group_name for RUN aggregation.
- Return type:
- create_by_none(report: EvaluationSubsetReport, metadata: TargetMetadata) VisualizationOutput[source]
Creates visualization for a single target from a single run.
Generates detailed analysis for individual target performance, typically showing time series, detailed metrics, or target-specific insights.
- Returns:
Visualization focused on the specific target’s performance.
- Parameters:
report (
EvaluationSubsetReport)metadata (
TargetMetadata)
- Return type:
- create_by_target(reports: list[tuple[TargetMetadata, EvaluationSubsetReport]]) VisualizationOutput[source]
Creates visualization comparing multiple targets from the same run.
Groups reports by target metadata and creates visualizations showing performance differences across individual targets within the same model run.
- Parameters:
reports (
list[tuple[TargetMetadata,EvaluationSubsetReport]]) – List of (metadata, report) tuples for each target in the run.reports
- Returns:
Visualization comparing performance across different targets.
- Return type:
- create_by_group(reports: dict[GroupName, list[tuple[TargetMetadata, EvaluationSubsetReport]]]) VisualizationOutput[source]
Creates visualization comparing multiple targets from the same run.
Groups targets by their group_name and creates comparative visualizations showing performance differences across target categories or types.
- Parameters:
reports (
dict[TypeAliasType,list[tuple[TargetMetadata,EvaluationSubsetReport]]]) – Dictionary mapping group names to lists of (metadata, report) tuples for that group.reports
- Returns:
Visualization comparing performance across different target groups.
- Return type:
- create_by_run_and_none(reports: dict[RunName, list[tuple[TargetMetadata, EvaluationSubsetReport]]]) VisualizationOutput[source]
Creates visualization comparing multiple runs on the same target group.
Groups reports by run_name and creates comparative visualizations showing how different models or configurations perform on the same targets.
- Parameters:
reports (
dict[TypeAliasType,list[tuple[TargetMetadata,EvaluationSubsetReport]]]) – Dictionary mapping run names to lists of (metadata, report) tuples for that run.reports
- Returns:
Visualization comparing different model runs on the same targets.
- Return type:
- create_by_run_and_target(reports: dict[RunName, list[tuple[TargetMetadata, EvaluationSubsetReport]]]) VisualizationOutput[source]
Creates visualization comparing multiple runs on the same target group.
Groups reports by run_name and creates comparative visualizations showing how different models or configurations perform on the same targets.
- Parameters:
reports (
dict[TypeAliasType,list[tuple[TargetMetadata,EvaluationSubsetReport]]]) – Dictionary mapping run names to lists of (metadata, report) tuples for that run.reports
- Returns:
Visualization comparing different model runs on the same targets.
- Return type:
- create_by_run_and_group(reports: dict[tuple[RunName, GroupName], list[tuple[TargetMetadata, EvaluationSubsetReport]]]) VisualizationOutput[source]
Creates visualization across multiple runs and target groups.
Creates matrix-style comparisons showing how different models perform across different target categories, enabling full comparative analysis.
- Parameters:
reports (
dict[tuple[TypeAliasType,TypeAliasType],list[tuple[TargetMetadata,EvaluationSubsetReport]]]) – Dictionary mapping (run_name, group_name) tuples to lists of (metadata, report) tuples for that combination.reports
- Returns:
Visualization matrix comparing runs across target groups.
- Return type:
- abstract property supported_aggregations: set[AnalysisAggregation]
Returns the set of aggregation types supported by this provider.
- Returns:
Set of supported VisualizationAggregation values.
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': False, 'extra': 'ignore', 'protected_namespaces': ()}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].