Buat Akun DQLab & Akses Kelas Data Science Python, R, SQL, Excel GRATIS!

Cara Mengatasi Missing Value sebagai Bagian Penting dari Feature Engineering

Belajar Data Science di Rumah 09-Juni-2026
https://dqlab.id/files/dqlab/cache/1-longtail-rabu-07-2023-10-12-085215_x_Thumbnail800.jpg

Data yang berkualitas merupakan fondasi utama dalam pengembangan model machine learning. Namun, dataset sering kali mengandung nilai yang hilang atau missing value akibat kesalahan pencatatan, kegagalan sensor, respons survei yang tidak lengkap, maupun masalah integrasi data. Kehadiran missing value dapat menghambat proses analisis dan menurunkan performa model jika tidak ditangani dengan tepat. Oleh karena itu, penanganan missing value menjadi salah satu tahapan penting dalam feature engineering yang bertujuan menghasilkan fitur yang lebih informatif untuk proses machine learning. Berikut adalah cara mengatasi missing value dari feature engineering. Ikuti langkah-langkahnya, yuk, sahabat DQLab.

1. Mengenal Missing Value dan Dampaknya pada Machine Learning

Missing value adalah kondisi ketika suatu atribut dalam dataset tidak memiliki nilai atau berisi data kosong. Dalam Python, nilai yang hilang biasanya direpresentasikan sebagai NaN (Not a Number) atau None. Meskipun terlihat sederhana, keberadaan nilai kosong dapat menimbulkan berbagai masalah, mulai dari kesalahan saat pemrosesan data hingga menurunkan kemampuan model dalam mengenali pola.

Sebagian besar algoritma machine learning, seperti regresi linier, K-Nearest Neighbors, dan Support Vector Machine, tidak dapat langsung memproses data yang mengandung nilai kosong. Selain itu, missing value dapat menyebabkan perhitungan statistik menjadi tidak akurat dan menghasilkan bias pada proses pelatihan model. Oleh karena itu, identifikasi dan penanganan nilai yang hilang harus dilakukan sebelum tahap pemodelan.

Sebelum menentukan metode yang digunakan, langkah awal yang perlu dilakukan adalah memeriksa jumlah nilai kosong pada setiap kolom.

import pandas as pd

df = pd.read_csv("data.csv")

print(df.isnull().sum())


Baca Juga: Bootcamp Machine Learning and AI for Beginner


2. Menghapus Data yang Mengandung Missing Value

Salah satu metode paling sederhana untuk menangani missing value adalah menghapus baris atau kolom yang memiliki nilai kosong. Pendekatan ini biasanya digunakan untuk ketika jumlah data yang hilang relatif sedikit sehingga tidak memberikan dampak signifikan terhadap keseluruhan dataset. Penghapusan baris dapat dilakukan menggunakan fungsi berikut:


df_clean = df.dropna()


Sementara itu, jika sebuah kolom memiliki terlalu banyak nilai kosong dan dianggap kurang relevan, kolom tersebut dapat dihapus dengan:


df_clean = df.dropna(axis=1)


Keunggulan metode ini terletak pada kesederhanaannya karena tidak memerlukan asumsi tambahan terhadap data. Namun, penghapusan data memiliki risiko kehilangan informasi yang berharga, terutama jika proporsi missing value cukup besar. Pada dataset berukuran kecil, metode ini bahkan dapat menyebabkan berkurangnya representasi data sehingga memengaruhi kualitas model. Oleh karena itu, teknik penghapusan biasanya hanya direkomendasikan ketika persentase data yang hilang sangat rendah.


3. Menggunakan Teknik Imputasi Sederhana

Apabila penghapusan data tidak memungkinkan, alternatif yang umum digunakan adalah melakukan imputasi, yaitu mengganti nilai yang hilang dengan nilai tertentu berdasarkan karakteristik data. Teknik imputasi paling sederhana meliputi penggunaan mean, median, dan mode. Untuk data numerik yang memiliki distribusi relatif normal, nilai kosong dapat diganti dengan rata-rata kolom.


df["usia"].fillna(df["usia"].mean(), inplace=True)


Jika data mengandung banyak outlier atau memiliki distribusi yang tidak simetris, penggunaan median sering kali lebih tepat.


df["pendapatan"].fillna(

df["pendapatan"].median(),

inplace=True

)


Sementara itu, metode yang paling umum digunakan adalah mengganti nilai kosong dengan kategori yang paling sering muncul (mode) untuk data kategorikal.


df["jenis_kelamin"].fillna(

df["jenis_kelamin"].mode()[0],

inplace=True

)


Ketiga metode ini mudah diterapkan dan memiliki biaya komputasi yang rendah. Namun, karena menggunakan satu nilai yang sama untuk mengisi banyak data yang hilang, variasi data dapat berkurang dan menyebabkan informasi tertentu hilang. Meski demikian, teknik ini tetap menjadi pilihan utama dalam banyak proyek machine learning


Baca Juga: Mengenal NLP, Salah Satu Produk Machine Learning


4. Imputasi Lanjutan dengan KNN dan Iterative Imputer

Pada dataset yang lebih kompleks, pendekatan sederhana sering kali tidak cukup untuk mempertahankan hubungan antarvariabel. Oleh karena itu, metode imputasi yang lebih canggih seperti KNN Imputer dan Iterative Imputer mulai banyak digunakan. KNN Imputer bekerja dengan mencari sejumlah data yang paling mirip (nearest neighbors) kemudian menggunakan informasi tersebut untuk memperkirakan nilai yang hilang.


from sklearn.impute import KNNImputer


imputer = KNNImputer(n_neighbors=5)


df_imputed = imputer.fit_transform(df)


Karena mempertimbangkan karakteristik data di sekitarnya, hasil imputasi KNN umumnya lebih realistis dibandingkan metode rata-rata atau median. Selain itu, terdapat iterative imputer yang menggunakan model prediksi untuk memperkirakan nilai kosong berdasarkan hubungan antarfitur.


from sklearn.experimental import enable_iterative_imputer

from sklearn.impute import IterativeImputer


imputer = IterativeImputer()


df_imputed = imputer.fit_transform(df)


5. Strategi Terbaik dalam Menangani Missing Value

Tidak ada satu metode yang selalu menjadi pilihan terbaik untuk semua jenis data. Strategi yang digunakan harus mempertimbangkan jumlah missing value, ukuran dataset, karakteristik variabel, dan tujuan analisis yang ingin dicapai. Pada dataset sederhana dengan sedikit nilai kosong, penghapusan data atau imputasi menggunakan mean dan median sering kali sudah memadai. Sebaliknya, pada proyek machine learning yang membutuhkan tingkat akurasi tinggi, metode seperti KNN Imputer atau Iterative Imputer dapat memberikan hasil yang lebih baik.

Selain melakukan imputasi, beberapa praktisi data science juga menambahkan fitur indikator yang menunjukkan apakah suatu nilai sebelumnya hilang atau tidak. Informasi ini dapat membantu model menemukan pola tertentu yang mungkin berkaitan dengan ketidaklengkapan data. Oleh karena itu, proses penanganan missing value tidak hanya bertujuan mengisi kekosongan data, tetapi juga menjadi bagian penting dari feature engineering yang dapat meningkatkan kualitas fitur dan performa model secara keseluruhan.


Penanganan missing value merupakan salah satu tahapan mendasar dalam feature engineering yang tidak boleh diabaikan. Nilai yang hilang dapat memengaruhi kualitas analisis, menurunkan akurasi model,bahkan menyebabkan kegagalan proses pelatihan machine learning. Berbagai metode dapat digunakan, mulai dari penghapusan data, imputasi sederhana menggunakan mean, median, dan mode, hingga pendekatan yang lebih canggih seperti KNN Imputer dan Iterative Imputer.


FAQ

1. Apakah semua missing value harus dihapus?

Tidak. Menghapus data yang memiliki missing value memang merupakan solusi paling sederhana, tetapi tidak selalu menjadi pilihan terbaik. Jika jumlah data yang hilang cukup banyak, penghapusan dapat mengurangi ukuran dataset dan berpotensi menghilangkan informasi penting. Dalam banyak kasus, teknik imputasi seperti mean, median, atau metode yang lebih canggih lebih direkomendasikan.

2. Kapan sebaiknya menggunakan mean dan median untuk mengisi missing value?

Mean cocok digunakan pada data numerik yang memiliki distribusi relatif normal dan tidak banyak outlier. Sebaliknya, median lebih tepat digunakan ketika data memiliki distribusi yang miring (skewed) atau mengandung nilai ekstrem karena median lebih tahan terhadap pengaruh outlier dibandingkan rata-rata.

3. Apakah metode imputasi yang lebih kompleks selalu menghasilkan model yang lebih baik?

Belum tentu. Metode seperti KNN Imputer dan Iterative Imputer memang dapat menghasilkan estimasi yang lebih realistis karena mempertimbangkan hubungan antarvariabel. Namun, metode tersebut juga membutuhkan waktu komputasi lebih besar dan tidak selalu memberikan peningkatan performa yang signifikan. Oleh karena itu, penting untuk membandingkan beberapa metode imputasi dan mengevaluasi hasilnya berdasarkan performa model yang dibangun.


Gimana sahabat DQ? Seru banget kan membahas soal machine learning beserta modelnya. Eits, kalau kamu masih bingung soal model machine learning, tenang aja. Yuk, segera ambil kesempatan untuk Sign Up dengan bergabung bersama DQLab! Di sini kamu bisa banget belajar dengan modul berkualitas dan tools sesuai kebutuhan industri dari dasar hingga advanced meskipun kamu nggak punya background IT, lho. Dilengkapi studi kasus yang membantu para pemula belajar memecahkan masalah secara langsung dari berbagai industri.

Biar nggak cuma paham teori, kamu juga bisa langsung mulai praktik lewat mini project sederhana seperti prediksi data atau klasifikasi, mengikuti latihan step-by-step di modul, sampai mencoba berbagai model machine learning untuk melihat perbedaannya secara langsung. Dengan begitu, proses belajarmu jadi lebih terasa nyata dan aplikatif sejak awal.

Tidak cuma itu, DQLab juga sudah menerapkan metode pembelajaran HERO (Hands-On, Experiential Learning & Outcome-based) yang dirancang ramah untuk pemula, dan telah terbukti mencetak talenta unggulan yang sukses berkarier di bidang data. Jadi, mau tunggu apa lagi? Yuk, segera persiapkan diri dengan modul premium atau kamu juga bisa mengikuti Bootcamp Machine Learning and AI for Beginner sekarang juga!


Penulis: Reyvan Maulid

Mulai Karier
sebagai Praktisi
Data Bersama
DQLab

Daftar sekarang dan ambil langkah
pertamamu untuk mengenal
Data Science.

Daftar Gratis & Mulai Belajar

Mulai perjalanan karier datamu bersama DQLab

Daftar dengan Google

Sudah punya akun? Kamu bisa Sign in disini