CUSUM#
- class capymoa.drift.detectors.CUSUM[source]#
Bases:
MOADriftDetectorCUSUM Drift Detector
Example usages:
>>> import numpy as np >>> np.random.seed(0) >>> from capymoa.drift.detectors import CUSUM >>> >>> detector = CUSUM(delta=0.005, lambda_=60) >>> >>> data_stream = np.random.randint(2, size=2000) >>> for i in range(999, 2000): ... data_stream[i] = np.random.randint(4, high=8) >>> >>> for i in range(2000): ... detector.add_element(data_stream[i]) ... if detector.detected_change(): ... print('Change detected in data: ' + str(data_stream[i]) + ' - at index: ' + str(i)) Change detected in data: 6 - at index: 1011 Change detected in data: 7 - at index: 1556
- __init__(min_n_instances: int = 30, delta: float = 0.005, lambda_: float = 50)[source]#
Create a CUSUM drift detector.
- Parameters:
min_n_instances – Minimum number of instances to observe before change detection is enabled. Defaults to 30.
delta – CUSUM slack parameter subtracted from the running sum at each step. Larger values make the detector less sensitive to small shifts. Defaults to 0.005.
lambda – Threshold for the cumulative sum; once the running sum exceeds this value, a change is reported. Defaults to 50.
- add_element(element: float) None[source]#
Update the drift detector with a new input value.
- Parameters:
element – A value to update the drift detector with. Usually, this is the prediction error of a model.
- classmethod from_cli(cli: str) MOADriftDetector[source]#
Create a detector instance configured from a MOA CLI string.
- Parameters:
cli – Command-line style options string for MOA detector hyper-parameters.
- Returns:
A new detector instance initialized with
cli.
- classmethod from_params( ) Any[source]#
Construct an instance from parameters produced by
get_params.
- reset(clean_history: bool = False) None[source]#
Reset the drift detector.
- Parameters:
clean_history – Whether to reset detection history, defaults to False
- REQUIRES_FIT: bool = False#
If
True, this detector needs a reference distribution before it can detect change. Concept drift detectors leave this asFalseand only useadd_element().