Menemukan Outlier pada Tipe Data Numerik — Machine Learning

Rizki Maulana
3 min readFeb 21, 2021

--

dailymail.co.uk

Dalam data preprocessing salah satu Langkah yang tidak boleh dilewatkan adalah menemukan outliers. Outlier merupakan data yang sangat berbeda dengan kumpulan data lainnya contohnya seperti seekor singa diantara gerombolan kerbau. Singa tersebut menjadi outlier karena sangat berbeda dari kumpulan hewan yang lainnya. Ada beberapa cara untuk menemukan outlier seperti

  1. Membuat Scatter Plot

Cara yang paling mudah adalah dengan membuat visualisasi data kedalam bentuk scatter plot, kemudian lihat lah data yang posisinya paling jauh dari kumpulan data lainnya, dengan demikian maka dapat dipastikan bahwa itu adalah outlier. Perhatikan contoh dibawah ini saya ingin menemukan outlier pada variable x

Dari scatter plot diatas bisa kita lihat bahwa data 100 termasuk outlier karena sangat jauh dari sekumpulan data yang lainnya

2. Z Score

Z Score atau biasa disebut nilai standar merupakan sebuah teknik untuk mengetahui apakah suatu data lebih besar dari mean atau lebih kecil dari mean serta untuk mengetahui seberapa jauh jarak data tersebut dari mean, jika nilai z score suatu data lebih kecil dari -2 atau lebih besar dari 2 maka bisa dikatan data tersebut adalah outlier. Rumus untuk menghitungnya adalah sebagai berikut

z score

x = data numerik

μ = Rata Rata

σ = Nilai standar deviasi

Pertahatikan contoh dibawah ini, pada kasus kali ini kita akan menggunakan library mern, cek disini https://github.com/bluenet-analytica/mern

pip3 install mern

coding

from mern import NumericOutlier

remover = NumericOutlier()
x = [11,31,21,19,8,54,35,26,23,13,29,17]

# Z Score
print(remover.find(x, "zscore"))
# output 54

dari hasil diatas bisa kita lihat bahwa 54 jaraknya sangat jauh dari nilai mean dengan demikian maka 54 dikatan sebagai outlier

3. IQR Score (Interquartile Range Score)

Cara kerja dari Iqr score adalah sebagai berikut

disini kita masih menggunakan library mern, baiklah langsung saja kita lihat contoh kode nya. perlu diketahui bahwa jika kita menggunakan library ini kita tidak perlu mengurutkan datanya karena akan otomatis diurutkan

from mern import NumericOutlier

remover = NumericOutlier()
x = [1, 2, 2, 2, 3, 1, 1, 15, -15,2, 2, 3, 1, 1, 2]

# using Inter Quartile Range Score
print(remover.find(x, "iqr"))
# output [-15, 3, 3, 15]

Mengapa kita perlu menghilangkan outlier ?

Kita perlu menghilangkan outlier supaya kita mendapatkan nilai akurasi yang tinggi, contohnya seperti pada kasus regresi linear jika data kita terdapat outlier maka nilai kofisien determinasi akan menurun, oleh sebab itu kita harus menghilangkan outlier pada dataset yang kita miliki.

--

--

Rizki Maulana
Rizki Maulana

Written by Rizki Maulana

Artificial intelligence pratitioner & Founder of heelmet.com

No responses yet