Data Cleaning and Preparations
Proses ini sering dilakukan dalam pengolahan data, ketika data yang kita gunakan belum tentu dapat langsung digunakan dengan baik, sehingga solusinya pun tidak tepat atau kurang baik.
Masalah yang biasa ditemui:
Null Values (Nilai Kosong)
Kesalahan struktural (Kesalahan ketik/input)
Duplikasi Data
Outlier (nilai dari data terlalu besar/kecil)
Data yang tidak baik ini dapat menghasilkan hasil yang buruk pula. Data yang kita gunakan harus kita pastikan bahwa data ini sudah siap untuk kita olah. Ini biasa disebut sebagai GIGO, yaitu Garbage in, garbage out. Melakukan proses pembersihan atau data cleaning dan pengubahan data atau data transformation agar menghasilkan hasil yang optimal.
Data Cleaning (Handling Null Values):
Ketika kita menemukan null values pada data, kita perlu menghitung berapa banyak angka dari data kosong. Apakah data kosong itu dibawah 20% atau melebihi 20% data? Jika data kosong lebih dari 20%, kita:
Jangan gunakan kolom terkait.
Label data sebagai 0 atau tidak tersedia.
Jika kurang atau sama dengan 20% dari data kita, kita dapat melabeli 0 atau kita bisa menggunakan nilai lain untuk mengganti data 0 tersebut. Nah, kita harus melihat dulu apakah distribusi dari data tersebut normal atau variabel data adalah kuantitatif. Ketika data adalah kuantitatif dan terdistribusi normal, kita dapat mengganti data-data kosong dengan nilai rata-rata. Namun, jika data kuantitatif dan mungkin tidak terdistribusi dengan normal, kita dapat menggantinya dengan nilai tengah atau median. Jika datanya tidak kuantitatif tapi variabel datanya adalah kuantitatif, biasanya kita menggunakan modus dari data sebagai pengganti nilai null atau nilai yang kosong di data tersebut.
Data Cleaning (Structural Errors):
Merupakan kesalahan yang muncul saat pengambilan data, pemindahan data, atau buruknya penyimpanan data.
Sebagai contoh, kesalahan dalam typo atau tidak konsisten penggunaan kapital huruf. Hal ini sering terjadi pada masalah kategorisasi seperti kota, jenis membership yang digunakan, dll. Kita dapat mengeceknya dengan membuat diagram batang dan melihat frekuensi kemunculannya. Untuk menyelesaikan masalah ini, kita dapat merubah typo atau menghapusnya saja jika frekuensi kemunculannya kecil dan tidak terkait dengan hal lain.
Contohnya, "Composition" dan "composition" yang dirubah menjadi 1 data, yaitu "Composition" saja.
Data Cleaning (Duplicate dan Outlier):
Data yang berulang padahal seharusnya dia unik. Untuk memeriksa duplikasi data, kita dapat menghitung dan mengelompokkan data lalu mengeluarkan data yang muncul lebih dari sekali. Kurang lebih seperti cara untuk melihat kesalahan struktural, kita buat bar dan kita hapus data yang seharusnya muncul sekali namun malah muncul berkali-kali. Selanjutnya, ada Outlier, adalah data yang sangat jauh dari titik tengah suatu distribusi atau muncul diluar ekspektasi. Biasanya dia ada di persentil lebih dari 99% ataupun kurang dari 1%. Tapi sebenarnya tergantung dengan konteks, data outlier ini sebaiknya kita keluarkan dan tidak kita gunakan dalam pengolahan data.
Data Transformation:
Formating
Misalnya kita melihat tipe data tidak sesuai dengan bentuk yang kita inginkan. Sebagai contoh, terkadang kita menemukan suatu kolom yang berisi nilai angka dimana angka tersebut sebenarnya mewakili suatu nilai lain. Untuk memudahkan pengolahan data selanjutnya, kita perlu mengubah nilai tersebut. Contohnya, ketika suatu data ditunjukkan dalam bentuk angka 1 untuk benar dan 2 untuk salah, kita harus mengubah ke nilai yang sebenarnya, yaitu "benar" dan "salah" agar tidak terjadi misleading.
Ubah Data ke matriks yang lebih relevan
Mengubah data karena terkadang data tersebut belum tersedia untuk menggambarkan nilai yang kita inginkan, tapi sebenarnya data tersebut sudah ada dan bisa kita hitung dengan klausula logika dari data yang sudah kita punya. Contohnya, kita perlu menghitung total jumlah biaya dari tabel komponen biaya. Kita perlu membuat rumus dan menghitung total biaya dari komponen tersebut.
Normalisasi
Proses perubahan nilai dari data, mirip dengan poin sebelumnya, tapi disini kita bicara tentang persentase dari setiap nilai yang ada di data dengan total data. Biasanya hal ini dilakukan untuk menghitung proporsi untuk membandingkan nilai yang ada.