Penanganan Missing Value pada Data dengan Python (Part 2)

DW ADS

Halo Sobat Exsight! Pada artikel sebelumnya telah dibahas tentang apa itu  Missing Value pada Data Statistik. Selanjutnya pada artikel ini akan dibahas terkait tutorial Penanganan Missing Value pada Data dengan Python.

Dimana untuk tutorial kali ini akan berfokus pada penanganan Missing Value dengan cara penghapusan baris data missing maupun dengan cara imputasi nilai berdasarkan mean, median, dan modus. Yuk langsung saja simak tutorialnya dengan seksama yaa!

Tutorial Python

Studi Kasus

Studi kasus yang akan kita gunakan dalam hal ini menggunakan data Melbourne Housing Snapshot yang didapatkan dari situs Kaggle. Data terdiri atas 21 variabel dan 13. 580 observasi.

missing value

Load Library Python

Tahapan paling awal sebelum running syntax di Python yaitu melakukan load library . Apabila kamu masih belum memiliki library untuk penanganan missing value , maka dapat menginstall terlebih dahulu dengan cara

pip install (nama library nya)

Adapun beberapa library yang digunakan terdiri atas:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

Load Data

Setelah melakukan load data di Python. Data yang diinput diberi nama sebagai data yang berasal dari file Melbourne Housing. Perlu diperhatikan untuk jenis file data yang diinput dalam format CSV, hal ini dengan tujuan untuk mempermudah pengguna. Syntax yang digunakan adalah sebagai berikut

data = pd.read_csv('Melbourne Housing.csv')
data
missing value
Gambar 1. Data Melbourne Housing

Pengecekan Adanya Missing Value

Mula-mula kita perlu memastikan missing value pada data terdapat pada variabel apa saja

#Jumlah Missing Value pada Tiap Variabel
np.sum(data.isnull())
missing value
Gambar 2. Jumlah Missing Value Tiap Variabel

Berdasarkan hasil output pada Gambar 2. diketahui bahwa variabel-variabel yang terdapat missing value yaitu variabel Car, BuildingArea, YearBuilt, dan CouncilArea.

Cek Persentase Missing Value

Tahapan berikutnya kita perlu melakukan cek persentase missing value. Apabila missing value pada suatu variabel kurang dari 20% maka dilakukan penghapusan baris data, namun jika missing value lebih dari 20% maka dilakukan imputasi nilai.

null_percentage = missing_cols/13580*100
print(null_percentage.sort_values())
missing value
Gambar 3. Persentase Missing Value Tiap Variabel

Gambar 3. menunjukkan hasil bahwa variabel Car dan variabel CouncilArea memiliki missing value kurang dari 20%, maka dari itu dilakukan penghapusan baris yang missing pada kedua variabel tersebut.

Penanganan Missing Value dengan Penghapusan

data.dropna(subset=['Car', 'CouncilArea'], axis=0)
missing value
Gambar 4. Data Setelah Penanganan Missing Value dengan Penghapusan

Gambar 4. menunjukkan bahwa setelah dilakukan penghapusan baris yang missing pada variabel Car dan variabel CouncilArea, data yang semula terdiri atas 13.580 baris menjadi 12.211 baris.

Pengecekan Outlier

Tahapan berikutnya kita akan melakukan penanganan missing value dengan imputasi pada variabel YearBuilt dan variabel BuildingArea. Apabila kita perhatikan variabel YearBuilt dan variabel BuildingArea merupakan variabel numerik, sehingga jenis imputasi yang mungkin yaitu imputasi mean atau imputasi median.

Penggunaan imputasi mean dan imputasi median tergantung pada ada atau tidaknya outlier. Jika terdapat outlier pada suatu variabel maka jenis imputasi yang tepat digunakan yaitu imputasi median. Maka dari itu dilakukan pengecekan outlier menggunakan Boxplot sebagai berikut.

sns.boxplot(x=data['BuildingArea'])
sns.boxplot(x=data['YearBuilt'])
missing value
Gambar 5. Boxplot Variabel BuildingArea dan YearBuilt

Berdasarkan Gambar 5. diketahui bahwa terdapat outlier pada variabel BuildingArea dan variabel Built, sehingga jenis imputasi yang tepat digunakan yaitu imputasi median.

Penanganan Missing Value dengan Imputasi Median

Perhitungan nilai median dilakukan dengan syntax sebagai berikut

#Menghitung Nilai Median Variabel BuidingArea dan YearBuilt
med_BuildingArea = data['BuildingArea'].median()
med_YearBuilt = data['YearBuilt'].median()

Nilai median untuk variabel BuildingArea yaitu sebesar 124 sedangkan median untuk variabel YearBuilt yaitu sebesar 1970. Selanjutnya kita lakukan imputasi missing value berdasarkan median dari variabel BuidingArea dan YearBuilt.

data['BuildingArea'].fillna(med_BuildingArea, inplace=True)
data['YearBuilt'].fillna(med_YearBuilt, inplace=True)

Tahapan terakhir, kita lakukan kembali pengecekan missing value pada data

np.sum(data.isnull())
missing value
Gambar 6. Pengecekan Ulang Missing Value

Berdasarkan Gambar 6. dapat kita simpulkan bahwa sudah tidak ada lagi missing value pada data Melbourne Housing.

Referensi

Fadillah, I. (2019). Perbandingan Metode Hot-Deck Imputation dan Mettode KNNI dalam Mengatasi Missing Values. Prosiding Seminar Nasional Official Statistics.

Little, R. J. A., & Rubin, D. B. (2019). Statistical Analysis with Missing Data (3rd ed.). Hoboken, NJ: Wiley.

Sudirman. (2012). Analisis Perbandingan Metode Imputasi Missing Values Global dan Concept Method pada Data Supervised. Jurnal Ilmiah FIFO Volume IV, No. 2.

Sampai disini dulu penjelasan terkait Penanganan Missing Value pada Data dengan Python. Apabila masih terdapat hal-hal yang dibingungkan bisa langsung saja ramaikan kolom komentar atau hubungi admin melalui tombol bantuan di kanan bawah. Stay tuned di website https://exsight.id/blog/ agar tidak ketinggalan artikel-artikel menarik lainnya.

Sstt...
Mau Kiriman Artikel Terbaru Exsight
Tanpa Biaya Langganan? ????

Nama Kamu

Email Kamu

Dapatkan Akses Informasi Terupdate Seputar Dunia Data dan Statistika 🙂

Exsight ADS

Leave a Comment

Hubungi Admin
Halo, selamat datang di Exsight! 👋

Hari ini kita ada DISKON 20% untuk semua transaksi. Klaim sekarang!