PrecisionRecallCurveVisualization#
- class openstef_beam.analysis.visualizations.precision_recall_curve_visualization.PrecisionRecallCurveVisualization(**data: Any) None[source]
Bases:
VisualizationProviderCreates precision-recall curves for evaluating binary classification performance.
Displays the classic precision-recall trade-off as a curve where each point represents performance at a different probability threshold. The closer the curve to the top-right corner, the better the model performs across all thresholds.
Two evaluation modes:
Standard: Traditional precision/recall based on binary classification accuracy
Effective: Specialized for congestion management, evaluating whether forecasts provide actionable insights for grid operators (correct direction + sufficient magnitude)
What you’ll see:
Curve plotting precision (Y-axis) vs recall (X-axis)
Each point represents a different probability threshold
Area under curve (AUC-PR) as overall performance metric
Multiple curves when comparing models or targets
Reference lines showing random classifier performance
Interpretation guide:
High precision: Few false alarms when predicting events
High recall: Catches most actual events that occur
Effective mode: Focuses on operationally useful predictions for grid management
Example
>>> from openstef_beam.analysis import AnalysisConfig >>> from openstef_beam.analysis.visualizations import PrecisionRecallCurveVisualization >>> >>> analysis_config = AnalysisConfig( ... visualization_providers=[ ... PrecisionRecallCurveVisualization( ... name="precision_recall", ... effective_precision_recall=True, # For congestion management ... ), ... ] ... )
- Parameters:
data (
Any)
-
effective_precision_recall:
bool
- property supported_aggregations: set[AnalysisAggregation]
Returns the set of aggregation types supported by this provider.
- Returns:
Set of supported VisualizationAggregation values.
- 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_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_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:
- 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].
- name: str