Menangani Nilai Pencilan
Termasuk bagian Statistik untuk ML dalam perjalanan Machine Learning di Coddy. Pelajaran 27 dari 64.
Sepuluh unit apartemen masing-masing menggunakan sekitar 10 m³ air, tetapi kebocoran membuat satu unit menggunakan 64 m³. Kamu bisa menghapusnya, atau membatasinya pada pagar terdekat:
np.clip(a, low, high) membatasi seluruh array:
water = np.array([8, 11, 9, 10, 12, 9, 64, 10, 11, 8])
low, high = 6.0, 14.0 # batas IQR
dropped = water[(water >= low) & (water <= high)]
capped = np.clip(water, low, high)
print(len(dropped), len(capped))
print(capped)Ini mencetak:
9 10
[ 8. 11. 9. 10. 12. 9. 14. 10. 11. 8.]Model bisa mengejar satu nilai datar itu, jadi tentukan sebelum pelatihan. Perbaiki atau hapus salah ketik, pertahankan atau batasi nilai ekstrem yang sebenarnya. Jangan pernah menghapusnya tanpa memberi tahu: sebutkan berapa banyak yang kamu ubah.
Tantangan
SedangAplikasi bersepeda mencatat kecepatan rata-rata 15 perjalanan dalam speeds; dua di antaranya tampak tidak wajar. Kode awal menyimpan batas IQR dalam low dan high.
- Buat
dropped, yaitu kecepatan yang berada di antara batas-batas tersebut, termasuk kedua batasnya, dancapped. - Cetak satu baris untuk masing-masing keep, drop, dan cap: jumlah perjalanan, nilai rata-ratanya, dan
.std(), dibulatkan menjadi 2 angka desimal. - Cetak jumlah perjalanan yang nilainya berubah karena pembatasan.
Untuk 10 perjalanan pengendara lain:
Keep: 10 rides, mean 21.38, std 6.58
Drop: 9 rides, mean 19.2, std 0.77
Cap: 10 rides, mean 19.45, std 1.04
Capping changed 1 of 10 ridesCoba sendiri
import numpy as np
# Mengembalikan batas IQR bawah dan atas dari sebuah array
def iqr_fences(a):
q1 = np.percentile(a, 25)
q3 = np.percentile(a, 75)
iqr = q3 - q1
return q1 - 1.5 * iqr, q3 + 1.5 * iqr
speeds = np.array([24.5, 22.8, 26.1, 23.9, 3.1, 25.4, 21.7, 24.2, 27.3, 78.4, 23.1, 25.8, 22.4, 24.9, 26.6])
low, high = iqr_fences(speeds)
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Statistik untuk ML
1Pusat dan Sebaran
Rata-rata dan MedianPersentil dan KuartilVarians dan Simpangan BakuSampel atau Populasi?Nilai yang Paling Sering MunculRangkuman: Waktu Pengiriman4Sampel dan Populasi
Populasi dan SampelRata-rata Sampel BervariasiDistribusi SamplingSampel Lebih Besar, Lebih Sedikit GangguanRangkuman: Jajak Pendapat di Sebuah Kota2Distribusi
Histogram KepadatanBentuk DataKurva NormalAturan 68-95-99,7Skor-ZRekap: Daya Tahan Baterai5Nilai Pencilan
Diagram KotakAturan IQRAturan Z-ScoreMenangani Nilai PencilanRangkuman: Gangguan Sensor3Probabilitas melalui Simulasi
Probabilitas sebagai FrekuensiHukum Bilangan BesarJumlah Mata DaduNilai HarapanProbabilitas BersyaratRangkuman: Peluang di Lapak Dadu6Hubungan
Membaca Diagram PencarKorelasiMatriks KorelasiPeta Panas KorelasiKorelasi Bukan Sebab-AkibatRangkuman: Es Krim dan MatahariLatihan sendiri: Compiler Python online