0Pricing
Learn AI with Python · Pelajaran

Deteksi dan Penghapusan Pencilan

Metode skor-Z, metode IQR, konsep hutan isolasi, dan penanganan pencilan dalam praktik.

Deteksi dan Penghapusan Pencilan adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa Itu Pencilan?

Pencilan adalah nilai yang jauh dari data lainnya. Nilai tersebut mungkin merupakan nilai ekstrem yang memang nyata, kesalahan entri data, atau gangguan sensor. Pencilan dapat mengubah rata-rata, varians, dan model, jadi deteksilah secara sengaja.

Metode Skor-Z

Skor-z mengukur berapa banyak simpangan baku jarak suatu nilai dari rata-rata: z = (x - mean) / std. Aturan umum menandai setiap titik dengan |z| > 3 sebagai pencilan.

import numpy as np
data = np.array([10, 12, 11, 13, 12, 100])
z = (data - data.mean()) / data.std()
print(np.round(z, 2))

Menandai dengan scipy zscore

scipy.stats.zscore menghitung skor-z untuk sebuah larik. Gabungkan dengan ambang batas untuk membuat masker boolean pencilan.

from scipy import stats
z = np.abs(stats.zscore(data))
outliers = z > 3
print(data[outliers])

Keterbatasan Skor-Z

Skor-z menggunakan rata-rata dan std, yang juga terpengaruh oleh pencilan. Pada data yang sangat menceng atau memiliki nilai ekstrem, skor-z dapat gagal mendeteksi sebagian pencilan. Metode IQR lebih tangguh.

Metode IQR

Rentang antarkuartil IQR = Q3 - Q1 mencakup 50 persen data bagian tengah. Nilai ini dihitung dari kuartil, yang hampir tidak berubah akibat pencilan, sehingga metode ini tangguh.

q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
iqr = q3 - q1
print(q1, q3, iqr)

Batas IQR

Batas Tukey menentukan batas bawah dan atas: lower = Q1 - 1.5*IQR, upper = Q3 + 1.5*IQR. Apa pun yang berada di luar batas akan ditandai. Aturan yang sama digunakan untuk menggambar kumis pada boxplot.

lower = q1 - 1.5 * iqr
upper = q3 + 1.5 * iqr
mask = (data < lower) | (data > upper)
print(data[mask])   # outliers

Visualisasi boxplot

boxplot memvisualisasikan aturan IQR: kotak membentang dari Q1 hingga Q3, garis menunjukkan median, kumis mencapai batas, dan titik di luar batas digambar sebagai titik pencilan individual.

# import matplotlib.pyplot as plt
# plt.boxplot(data)
# plt.show()

Menghapus Pencilan

Setelah ditandai, Anda dapat melakukan DROP pada baris pencilan. Lakukan dengan hati-hati karena menghapus data nyata dapat menimbulkan bias pada hasil. Simpan catatan tentang apa yang dihapus dan alasannya.

clean = data[~mask]
print(clean)   # outlier removed

Winsorisasi dengan np.clip

Alih-alih menghapusnya, winsorisasi membatasi nilai ekstrem pada batas yang dipilih dengan np.clip. Cara ini mempertahankan jumlah baris sekaligus mengurangi pengaruh nilai ekstrem.

capped = np.clip(data, lower, upper)
print(capped)   # extreme value pulled to the upper fence

Membatasi hingga Persentil

Pilihan winsorisasi yang umum adalah membatasi nilai pada persentil ke-1 dan ke-99, sehingga hanya 2 persen nilai paling ekstrem yang dihilangkan secara simetris.

lo, hi = np.percentile(data, [1, 99])
print(np.clip(data, lo, hi))

Hapus atau CAP?

Pilih berdasarkan konteks: lakukan REMOVE pada kesalahan yang jelas (nilai yang mustahil), lakukan CAP pada nilai yang benar tetapi ekstrem dan ingin dipertahankan, dan terkadang lakukan KEEP pada pencilan jika pencilan tersebut merupakan sinyalnya (misalnya dalam deteksi penipuan). Dokumentasikan keputusan tersebut.

Pemeriksaan Singkat

Uji pengetahuan Anda tentang pencilan.

Ringkasan

Perangkat penanganan pencilan:

  • Skor-z: tandai |z| > 3 melalui scipy.stats.zscore (sensitif terhadap pencilan)
  • Batas IQR: Q1-1.5*IQR hingga Q3+1.5*IQR (tangguh, menjadi dasar boxplot)
  • Hapus kesalahan nyata; lakukan winsorisasi dengan np.clip untuk membatasi nilai ekstrem
  • Selalu dokumentasikan alasan nilai dihapus atau dibatasi

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Deteksi dan Penghapusan Pencilan” gratis?

Ya — teks lengkap “Deteksi dan Penghapusan Pencilan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Deteksi dan Penghapusan Pencilan”?

Metode skor-Z, metode IQR, konsep hutan isolasi, dan penanganan pencilan dalam praktik. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Deteksi dan Penghapusan Pencilan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Deteksi dan Penghapusan Pencilan
  2. Pengodean Variabel Kategorikal
  3. Penskalaan Fitur: Normalisasi dan Standardisasi
  4. Membangun Pipeline Prapemrosesan
← Kembali ke Learn AI with Python