MulaiMulai sekarang secara gratis

Penghapusan pencilan secara statistik

Meskipun menghapus N% teratas dari data Anda berguna untuk memastikan titik yang sangat menyimpang dihapus, pendekatan ini memiliki kelemahan karena selalu menghapus proporsi titik yang sama, bahkan ketika datanya benar. Pendekatan alternatif yang umum digunakan adalah menghapus data yang berada lebih dari tiga simpangan baku dari mean. Anda dapat menerapkannya dengan terlebih dahulu menghitung mean dan simpangan baku dari kolom yang relevan untuk menemukan batas atas dan bawah, lalu menerapkan batas tersebut sebagai mask pada DataFrame. Metode ini memastikan hanya data yang benar-benar berbeda dari keseluruhan yang dihapus, dan akan menghapus lebih sedikit titik jika data saling berdekatan.

Latihan ini adalah bagian dari kursus

Rekayasa Fitur untuk Machine Learning di Python

Lihat Kursus

Petunjuk latihan

  • Hitung simpangan baku dan mean dari kolom ConvertedSalary pada so_numeric_df.
  • Hitung batas atas dan batas bawah sebagai tiga simpangan baku dari mean ke kedua arah.
  • Pangkas DataFrame so_numeric_df untuk mempertahankan semua baris di mana ConvertedSalary berada dalam batas lower dan upper.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Find the mean and standard dev
std = so_numeric_df['ConvertedSalary'].____
mean = so_numeric_df['ConvertedSalary'].____

# Calculate the cutoff
cut_off = std * 3
lower, upper = mean - cut_off, ____

# Trim the outliers
trimmed_df = so_numeric_df[(so_numeric_df['ConvertedSalary'] < ____) \ 
                           & (so_numeric_df['ConvertedSalary'] > ____)]

# The trimmed box plot
trimmed_df[['ConvertedSalary']].boxplot()
plt.show()
Edit dan Jalankan Kode