AffiliationRecall

class dtaianomaly.evaluation.AffiliationRecall[source]

Compute the affiliation-based recall score [17].

The affiliation-metrics will first divide the time domain into a number of so-called affiliations: subsequences that are closest to the ground truth anomaly events. These affiliations do not have a fixed size. Then, the recall is computed within each affiliation as the distance from the ground truth anomalous event to the closest predicted anomalies in that affiliation. The final recall then equals the average recall across all the affiliations.

See also

AffiliationPrecision

Compute the affiliation-based Precision score.

AffiliationFBeta

Compute the affiliation-based \(F_\beta\) score.

Examples

>>> from dtaianomaly.evaluation import AffiliationRecall
>>> metric = AffiliationRecall()
>>> y_true = [0, 0, 0, 1, 1, 0, 0, 0]
>>> y_pred = [1, 0, 0, 1, 1, 1, 0, 0]
>>> metric.compute(y_true, y_pred)
1.0
compute(y_true: ndarray, y_pred: ndarray, **kwargs) float

Compute the performance score.

Evaluate how closely the given anomaly scores align to the ground truth anomaly scores.

Parameters:
y_truearray-like of shape (n_samples)

Ground-truth labels.

y_predarray-like of shape (n_samples)

Predicted anomaly scores.

**kwargs

Additional arguments used for computing the evaluation metric.

Returns:
float

The alignment score of the given ground truth and prediction, according to this score.

Raises:
ValueError

When inputs are not numeric “array-like”s

ValueError

If shapes of y_true and y_pred are not of identical shape

ValueError

If y_true is non-binary.

ValueError

If y_pred is non-binary.