Box ploty a IQR

Detekce anomálií v Pythonu

Bekhruz (Bex) Tuychiev

Kaggle Master, Data Science Content Creator

Opakování: box ploty

  • Box ploty:
    • Jsou rozšířenou vizuální verzí pětičíselného souhrnu
    • Zobrazují lokalitu, rozptyl a šikmost dat
    • Indikují přítomnost odlehlých hodnot

Ukázkový box plot s popisky.

Detekce anomálií v Pythonu

Složky box plotu

Box plot s vyznačenými 25. a 75. percentilem a tělem grafu.

Detekce anomálií v Pythonu

Vousy

Další box plot s více popisky: medián, ukázková odlehlá hodnota, dolní a horní mez odlehlých hodnot.

Detekce anomálií v Pythonu

Mezikvartilové rozpětí (IQR)

  • IQR – mezikvartilové rozpětí
  • IQR = Q3 - Q1
  • Délka vousů – kombinace IQR a faktoru

Stejný box plot jako na předchozím snímku, ale menší.

Detekce anomálií v Pythonu

Výpočet délky vousů

  • Faktor = 1.5
  • Dolní mez: $Q1 - 1.5 * IQR$
  • Horní mez: $Q3 + 1.5 * IQR$

Stejný box plot jako na předchozím snímku.

Detekce anomálií v Pythonu

Kreslení box plotů

import matplotlib.pyplot as plt

plt.boxplot(sales)
plt.xlabel("Product sales")

Box plot prodejů s mnoha odlehlými hodnotami tvořícími černou čáru nad horní mezí.

Detekce anomálií v Pythonu

Nastavení délky vousů

plt.boxplot(sales, whis=2.5)
plt.xlabel("Product sales")

Box plot prodejů s méně odlehlými hodnotami nad horním vousem.

Detekce anomálií v Pythonu

IQR v kódu

# Calculate the percentiles
q1 = sales.quantile(0.25)
q3 = sales.quantile(0.75)


# Calculate IQR IQR = q3 - q1 # Set Multiplying factor factor = 2.5
Detekce anomálií v Pythonu

Hledání odlehlých hodnot pomocí IQR

# Calculate the limits
lower_limit = q1 - (IQR * factor)


upper_limit = q3 + (IQR * factor)
# Create masks
is_lower = sales < lower_limit
is_upper = sales > upper_limit


# Filter outliers = sales[is_lower | is_upper] # Print the # of outliers print(len(outliers))
29
Detekce anomálií v Pythonu

Flexibilita metody

  • Box ploty a filtrování pomocí IQR nabízejí velkou flexibilitu
  • Umožňují vytvářet vlastní pravidla pro označování odlehlých hodnot
Detekce anomálií v Pythonu

Lass uns üben!

Detekce anomálií v Pythonu

Preparing Video For Download...