Menu
CoddyTech

Aturan IQR

Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 25 dari 64.

Plot kotak menampilkan nilai yang jauh sebagai titik. Untuk menemukannya dalam kode, ubah aturannya menjadi dua pagar, masing-masing sejauh 1.5 IQR di luar tepi kotak:

12 harga tiket konser sebagai titik pada sebuah garis. Sepuluh berada di dalam kotak sempit sekitar 37 hingga 43 euro. Pagar putus-putus berada sejauh 1.5 IQR dari setiap tepi kotak, pada 28.1 dan 51.1, dan harga 18 dan 72 berada di luarnya, ditandai merah sebagai pencilan

Dalam kode, gunakan mask:

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)])

Ini mencetak:

28.125 51.125
[72 18]

Kuartil mengabaikan nilai ekstrem, jadi pencilan tidak bisa merentangkan batas hingga tersembunyi. Tandai nilai-nilai ini sebelum pelatihan: satu nilai ekstrem dapat menarik model ke arahnya.

challenge icon

Tantangan

Sedang

Seorang guru mencatat waktu kuis, lalu program membaca durasi dalam menit setiap siswa ke dalam minutes. Kode awal mencetak batas yang dikembalikan oleh iqr_fences.

  1. Lengkapi iqr_fences(a) agar mengembalikan batas bawah dan batas atas IQR dari a.
  2. Di bawahnya, cetak Unusual: dan waktu yang berada di luar batas, sesuai urutan aslinya.

Untuk 9 siswa yang mengerjakan kuis selama 8, 11, 9, 10, 27, 12, 9, 10, dan 11 menit:

Fences: 6.0 to 14.0 minutes
Unusual: [27]

Coba sendiri

import numpy as np


# Mengembalikan batas IQR bawah dan atas dari sebuah array
def iqr_fences(a):
    # Tulis kodemu di sini
    return 0.0, 0.0


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

# Jangan ubah baris-baris di bawah ini
low, high = iqr_fences(minutes)
print(f"Fences: {np.round(low, 2)} to {np.round(high, 2)} minutes")

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Statistik untuk ML

Latihan sendiri: Compiler Python online