Menu
CoddyTech

Reguła IQR

Część sekcji Statystyka w uczeniu maszynowym ścieżki Machine Learning w Coddy. Lekcja 25 z 64.

Wykres pudełkowy przedstawia odległe wartości jako kropki. Aby znaleźć je w kodzie, przekształć jego regułę w dwie granice, oddalone o 1.5 IQR od każdego brzegu pudełka:

12 cen biletów na koncert przedstawionych jako kropki na osi. Dziesięć mieści się w wąskim pudełku obejmującym zakres od 37 do 43 euro. Przerywane granice leżą w odległości 1.5 IQR od każdego brzegu pudełka, przy wartościach 28.1 i 51.1, a ceny 18 i 72 leżą poza nimi i są oznaczone na czerwono jako wartości odstające

W kodzie, z użyciem masek:

prices = np.array([35, 42, 38, 45, 40, 72, 37, 44, 39, 41, 36, 18])
q1 = np.percentile(prices, 25)
q3 = np.percentile(prices, 75)
iqr = q3 - q1
low = q1 - 1.5 * iqr
high = q3 + 1.5 * iqr
print(low, high)
print(prices[(prices < low) | (prices > high)])

To wypisuje:

28.125 51.125
[72 18]

Kwartyle ignorują wartości skrajne, więc wartość odstająca nie może rozciągnąć granic, by się ukryć. Oznacz te wartości przed trenowaniem: jedna skrajna wartość może przyciągnąć do siebie model.

challenge icon

Wyzwanie

Średni

Nauczyciel mierzył czas quizu, a program wczytuje czas każdego ucznia w minutach do minutes. Kod początkowy wyświetla granice zwracane przez iqr_fences.

  1. Uzupełnij iqr_fences(a), aby zwracała dolną i górną granicę IQR dla a.
  2. Poniżej wyświetl Unusual: oraz czasy spoza tych granic, w pierwotnej kolejności.

Dla 9 uczniów, którzy rozwiązali quiz w 8, 11, 9, 10, 27, 12, 9, 10 i 11 minut:

Fences: 6.0 to 14.0 minutes
Unusual: [27]

Spróbuj swoich sił

import numpy as np


# Zwraca dolną i górną granicę IQR tablicy
def iqr_fences(a):
    # Wpisz tutaj swój kod
    return 0.0, 0.0


n = int(input())
values = []
for i in range(n):
    values.append(int(input()))
minutes = np.array(values)

# Nie zmieniaj poniższych wierszy
low, high = iqr_fences(minutes)
print(f"Fences: {np.round(low, 2)} to {np.round(high, 2)} minutes")

# Wpisz swój kod poniżej
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Statystyka w uczeniu maszynowym

Poćwicz samodzielnie: Kompilator Python online