Get startedGet started for free

Using modified z-scores with PyOD

It is time to unleash pyod on outliers. We use the MAD estimator from pyod to utilize modified z-scores. The estimator already uses the median_abs_deviation function under the hood, so it is unnecessary to repeat the previous steps.

The MAD estimator has already been loaded from pyod.models.mad and the data is available as prices.

This exercise is part of the course

Anomaly Detection in Python

View Course

Exercise instructions

  • Initialize MAD() with a threshold of 3.5.
  • Reshape prices to make it 2D.
  • Generate inlier/outlier labels on prices by fitting and predicting using mad simultaneously.
  • Subset labels for outliers, which are denoted as 1.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

# Initialize with a threshold of 3.5
mad = ____(____=____)

# Reshape prices to make it 2D
prices_reshaped = ____.____(-1, 1)

# Fit and predict outlier labels on prices_reshaped
labels = ____

# Filter for outliers
outliers = ____[____ == ____]

print(len(outliers))
Edit and Run Code