Memeriksa data yang hilang di buku catatan

Selesai

Data yang hilang mengacu pada kurangnya nilai dalam variabel tertentu dalam himpunan data.

Mengidentifikasi dan menangani data yang hilang adalah aspek penting dari fase eksplorasi dan praproses data dalam proyek pembelajaran mesin, dan cara Anda menanganinya dapat secara signifikan memengaruhi performa model Anda.

Langkah-langkah utama untuk menangani data yang hilang termasuk mengevaluasi jumlah data yang hilang, mengidentifikasi sifat data yang hilang, dan memilih metode terbaik untuk menangani nilai data yang hilang.

Mengidentifikasi data yang hilang

Untuk mengidentifikasi apakah ada data yang hilang dalam himpunan data, Anda dapat menggunakan fungsi isnull() atau isna() dari Pandas.

import pandas as pd
import numpy as np

# Create a sample DataFrame with some missing values
data = {
    'A': [1, 2, np.nan],
    'B': [4, np.nan, np.nan],
    'C': [7, 8, 9]
}
df = pd.DataFrame(data)

# Check for missing data
print(df.isnull())

Hasil:

       A      B      C
0  False  False  False
1  False   True  False
2   True   True  False

Ini menghasilkan DataFrame dengan ukuran yang sama dengan df, tetapi dengan True pada posisi di mana nilai hilang (NaN), dan False di tempat lain.

Untuk mendapatkan jumlah total nilai yang hilang dalam dataframe, Anda dapat menggunakan df.isnull().sum(). Ini mengembalikan jumlah nilai yang hilang untuk setiap kolom.

df.isnull().sum()

Hasil:

A    1
B    2
C    0
dtype: int64

Mengevaluasi sifat nilai yang hilang

Dalam proyek ilmu data, nilai yang hilang dapat terjadi karena berbagai alasan dan memahami sifatnya sangat penting untuk menanganinya dengan tepat.

Berikut adalah beberapa jenis nilai yang hilang:

  • Hilang Sepenuhnya Secara Acak (MCAR): Ketidakhadiran data tidak terkait dengan nilai variabel lain mana pun dan terjadi secara acak. Ini adalah skenario yang ideal, tetapi sering kali tidak terjadi dalam data dunia nyata.

  • Hilang di Random (MAR): Hilangnya data terkait dengan beberapa nilai variabel lain tetapi bukan data yang hilang itu sendiri. Misalnya, jika wanita lebih cenderung mengungkapkan jumlah langkah harian mereka daripada pria, maka data langkah harian adalah MAR.

  • Hilang Tidak secara Acak (MNAR): Hilangnya data terkait dengan nilai data yang hilang itu sendiri. Misalnya, orang dengan gaji yang lebih tinggi mungkin lebih kecil kemungkinannya untuk mengungkapkan pendapatan mereka. Menghapus rekaman ini dapat memasukkan bias ke dalam model, mencegahnya mencerminkan informasi lengkap yang terkandung dalam data secara akurat.

Memahami sifat nilai yang hilang dalam himpunan data Anda dapat memandu Anda tentang cara menanganinya. Untuk MCAR dan MAR, Anda dapat memilih metode penghapusan atau imputasi. Untuk MNAR, metode ini dapat memperkenalkan bias, sehingga mungkin lebih baik untuk mengumpulkan lebih banyak data atau menggunakan metode berbasis model yang dapat menangani nilai yang hilang.

Memutuskan cara menangani data yang hilang

Pendekatan untuk menangani data yang hilang dapat berdampak signifikan pada hasil analisis Anda dan performa model Anda. Berikut adalah beberapa strategi yang mungkin Anda pertimbangkan.

  • Mengabaikan: Jika hanya sejumlah kecil data yang hilang, data mungkin tidak berdampak signifikan pada performa model Anda.

  • Buka: Jika baris atau kolom tertentu memiliki banyak nilai yang hilang, mungkin yang terbaik adalah menghapusnya sepenuhnya.

  • Impute: Isi nilai yang hilang dengan nilai atau perkiraan tertentu (seperti rata-rata, median, mode, atau menggunakan algoritma pembelajaran mesin seperti K-Nearest Neighbors (KNN)).

  • Gunakan sebagai fitur baru: Terkadang, fakta bahwa nilai hilang dapat digunakan sebagai informasi itu sendiri. Misalnya, dalam survei produk, pertanyaan yang tidak terjawab tentang merekomendasikan produk dapat menunjukkan ketidakpuasan pelanggan. Dalam hal ini, nonrespons dapat menjadi fitur baru yang menunjukkan kemungkinan ketidakpuasan pelanggan.

Tidak ada solusi yang berlaku untuk semua dalam menangani data yang tidak tersedia. Pendekatan terbaik tergantung pada spesifikasi himpunan data Anda dan pertanyaan yang ingin Anda jawab.