individual_bisegments_table

Per-bisegment classification table scenario for no-reset benchmarks.

class pysatl_cpd.benchmark.online.noreset.scenarios.individual_bisegments_table.NoResetBisegmentsTableScenario(entries, collect_states=False, threshold=0.0)[source]

Bases: NoResetBenchmarkScenario[DataT, DataFrame]

Scenario that computes per-bisegment classification at a fixed threshold.

Parameters:
  • entries (Sequence[OnlineNoResetBenchmarkEntry]) – Detector entries to benchmark.

  • collect_states (bool) – Whether to retain algorithm states during detection (default False).

  • threshold (float) – Fixed detection threshold (default 0.0).

__init__(entries, collect_states=False, threshold=0.0)[source]
Parameters:
Return type:

None

prepare_benchmark_jobs(dataset)[source]

Build benchmark jobs using only bisegment providers.

Parameters:

dataset (Dataset[TypeVar(DataT), TimeseriesAnnotation]) – Input dataset with bisegment annotations.

Returns:

One job per entry, each using the bisegment providers.

Return type:

Sequence[BenchmarkJob[TypeVar(DataT)]]

analyze(registry)[source]

Evaluate per-bisegment metrics for every entry.

Parameters:

registry (BenchmarkRegistry[TypeVar(DataT), OnlineDetectionTrace[Any]]) – Registry containing cached detection runs.

Returns:

Bisegment classification table per detector description.

Return type:

dict[ChangePointDetectorDescription, DataFrame]

set_registry(registry)[source]

Set the registry used by the internal bisegment analyzer.

Return type:

None

Parameters:

registry (BenchmarkRegistry[DataT, OnlineDetectionTrace[Any]])

set_classification_report(classification_report)[source]

Set the classification report used by the internal bisegment analyzer.

Return type:

None

Parameters:

classification_report (Any)

handle_benchmark_error(job, exc)[source]

Re-raise with a message suggesting a data-transformer fix.

Return type:

None

Parameters: