Data Preprocessing Dalam Data Mining: Langkah-langkah, Imputasi Nilai Hilang, Standarisasi Data
Diterbitkan: 2020-12-30Bagian yang paling memakan waktu dari pekerjaan Data Scientist adalah menyiapkan dan memproses data sebelumnya. Data yang kami dapatkan dalam skenario kehidupan nyata tidak bersih dan cocok untuk pemodelan. Data perlu dibersihkan, dibawa ke format tertentu dan diubah sebelum dimasukkan ke model Machine Learning.
Di akhir tutorial ini, Anda akan mengetahui hal berikut:
- Mengapa Pra-pemrosesan Data
- Pembersihan Data
- Imputasi nilai yang hilang
- Standarisasi data
- Diskritisasi
Daftar isi
Mengapa Pra-pemrosesan Data?
Ketika data diambil dengan menghapus situs web dan mengumpulkannya dari sumber data lain, biasanya penuh dengan perbedaan. Ini bisa berupa masalah pemformatan, nilai yang hilang, nilai sampah dan teks, dan bahkan kesalahan dalam data. Beberapa langkah pra-pemrosesan perlu dilakukan untuk memastikan bahwa data yang diumpankan ke model sesuai dengan sasaran sehingga model dapat mempelajari dan menggeneralisasikannya.
Pembersihan Data
Langkah pertama dan paling penting adalah membersihkan penyimpangan dalam data. Tanpa melakukan langkah ini, kami tidak dapat memahami statistik data. Ini bisa berupa masalah pemformatan, nilai sampah, dan outlier.
Masalah pemformatan
Kami membutuhkan data dalam format tabel sebagian besar waktu tetapi tidak demikian. Data mungkin memiliki nama kolom yang hilang atau salah, kolom kosong. Selain itu, ketika berhadapan dengan data tidak terstruktur seperti Gambar dan Teks, menjadi sangat penting untuk mendapatkan data 2D atau 3D yang dimuat dalam Dataframe untuk pemodelan.
Nilai Sampah
Banyak instance atau kolom lengkap mungkin memiliki nilai sampah tertentu yang ditambahkan ke nilai aktual yang diperlukan. Misalnya, pertimbangkan kolom "peringkat" yang memiliki nilai seperti: "#1", "#3", "#12", "#2" dll. Sekarang, penting untuk menghapus semua "#" sebelumnya karakter untuk dapat memasukkan nilai numerik ke model.
Pencilan
Sering kali nilai numerik tertentu terlalu besar atau terlalu rendah daripada nilai rata-rata kolom tertentu. Ini dianggap sebagai outlier. Pencilan membutuhkan perawatan khusus dan merupakan faktor sensitif untuk diobati. Pencilan ini mungkin kesalahan pengukuran atau mungkin juga nilai nyata. Mereka juga perlu dihapus sepenuhnya atau ditangani secara terpisah karena mungkin berisi banyak informasi penting.
Nilai yang hilang
Jarang terjadi bahwa data Anda akan berisi semua nilai untuk setiap instance. Banyak nilai yang hilang atau diisi dengan entri sampah. Nilai-nilai yang hilang ini perlu dirawat. Nilai-nilai ini dapat memiliki beberapa alasan mengapa mereka mungkin hilang. Mereka bisa hilang karena beberapa alasan seperti kesalahan sensor atau faktor lain, atau mereka juga bisa hilang sepenuhnya secara acak.
Baca: Proyek Data Mining di India
Jatuhan
Cara paling mudah dan paling mudah adalah dengan membuang baris di mana nilai tidak ada. Melakukan hal ini memiliki banyak kerugian seperti hilangnya informasi penting. Mungkin langkah yang baik untuk menghilangkan nilai yang hilang ketika jumlah data yang Anda miliki sangat besar. Tetapi jika datanya kurang dan ada banyak nilai yang hilang, Anda memerlukan cara yang lebih baik untuk mengatasi masalah ini.
Imputasi Rata-Rata/Median/Mode
Cara tercepat untuk menghitung nilai yang hilang adalah dengan hanya memasukkan nilai rata-rata kolom. Namun memiliki kelemahan karena mengganggu distribusi asli dari data. Anda juga dapat menghubungkan nilai median atau nilai modus yang umumnya lebih baik daripada mean sederhana.
Interpolasi linier & KNN
Cara yang lebih cerdas juga dapat digunakan untuk menghitung nilai yang hilang. 2 di antaranya adalah Interpolasi Linier menggunakan beberapa model dengan memperlakukan kolom dengan nilai kosong sebagai fitur yang akan diprediksi. Cara lain adalah dengan menggunakan clustering oleh KNN. KNN membuat cluster dari nilai-nilai dalam fitur tertentu dan kemudian memberikan nilai yang paling dekat dengan cluster.
Standarisasi Data
Dalam kumpulan data dengan beberapa fitur numerik, semua fitur mungkin tidak berada pada skala yang sama. Misalnya, fitur "Jarak" memiliki jarak dalam meter seperti 1300, 800, 560, dll. Dan fitur lain "waktu" memiliki waktu dalam jam seperti 1, 2.5, 3.2, 0.8, dll. Jadi, ketika kedua fitur ini diumpankan ke model, ia menganggap fitur dengan jarak sebagai bobot lebih karena nilainya besar. Untuk menghindari skenario ini dan untuk mendapatkan konvergensi yang lebih cepat, perlu untuk membawa semua fitur pada skala yang sama.

Normalisasi
Cara umum untuk menskalakan fitur adalah dengan menormalkannya. Ini dapat diimplementasikan menggunakan Scikit-learn's Normalizer. Ini tidak berfungsi pada kolom, tetapi pada baris. Normalisasi L2 diterapkan pada setiap pengamatan sehingga nilai-nilai berturut-turut memiliki norma satuan setelah penskalaan.
Penskalaan Minimum Maks
Penskalaan Min Max dapat diimplementasikan menggunakan kelas Min MaxScaler Scikit-learn. Ini mengurangi nilai minimum fitur dan kemudian membaginya dengan rentang, di mana rentang adalah perbedaan antara maksimum asli dan minimum asli. Ini mempertahankan bentuk distribusi asli, dengan kisaran default di 0-1.
Penskalaan Standar
Standard Scaler juga dapat diimplementasikan menggunakan kelas Scikit-learn. Ini menstandarisasi fitur dengan mengurangi mean dan kemudian menskalakan varians unit, di mana varians unit berarti membagi semua nilai dengan standar deviasi. Itu membuat rata-rata distribusi 0 dan standar deviasi sebagai 1.
Diskritisasi
Banyak kali data tidak dalam bentuk numerik, bukan dalam bentuk kategoris. Misalnya, pertimbangkan fitur "suhu" dengan nilai sebagai "Tinggi", "Rendah", "Sedang". Nilai tekstual ini perlu dikodekan dalam bentuk numerik agar model dapat dilatih.
Kategori data
Data Kategorikal adalah label yang dikodekan untuk membawanya dalam bentuk numerik. Jadi “Tinggi”, “Sedang” dan “Rendah” dapat dikodekan Label menjadi 3,2, dan 1. Fitur kategoris dapat berupa nominal atau ordinal. Fitur kategoris ordinal adalah fitur yang memiliki urutan tertentu. Sebagai contoh, dalam kasus di atas, kita dapat mengatakan bahwa 3>2>1 sebagai suhu dapat diukur/dikuantifikasi.
Namun, dalam contoh di mana fitur "Kota" yang memiliki nilai seperti "Delhi", "Jammu" & "Agra", tidak dapat diukur. Dengan kata lain, ketika kita memberi label encode sebagai 3, 2, 1, kita tidak dapat mengatakan bahwa 3>2>1 karena “Delhi” > ”Jammu” tidak akan masuk akal. Dalam kasus seperti itu, kami menggunakan One Hot Encoding.
Data Berkelanjutan
Fitur dengan nilai kontinu juga dapat didiskritisasi dengan menggabungkan nilai ke dalam bin dengan rentang tertentu. Binning berarti mengubah fitur numerik atau kontinu menjadi kumpulan nilai diskrit, berdasarkan rentang nilai kontinu. Ini sangat berguna saat Anda ingin melihat tren berdasarkan rentang titik data.
Misalnya, kita memiliki nilai untuk 7 anak mulai dari 0-100. Sekarang, kita dapat menetapkan nilai setiap anak ke "tempat sampah" tertentu. Sekarang kita bisa membagi menjadi 3 bin dengan range 0 sampai 50, 51-70, dan 71-100 milik masing-masing bin 1,2, dan 3. Oleh karena itu, fitur sekarang hanya akan berisi salah satu dari 3 nilai ini. Pandas menawarkan 2 fungsi untuk mencapai binning dengan cepat: qcut dan cut.
Pandas qcut mengambil jumlah kuantil dan membagi titik data ke setiap bin berdasarkan distribusi data.
Pandas cut, di sisi lain, mengambil rentang khusus yang ditentukan oleh kami dan membagi titik data dalam rentang tersebut.
Bacaan terkait: Data Preprocessing dalam Machine Learning
Pelajari kursus ilmu data dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
Kesimpulan
Prapemrosesan Data adalah langkah penting dalam tugas Data Mining dan Pembelajaran Mesin apa pun. Semua langkah yang kita diskusikan tentu saja tidak semuanya tetapi mencakup sebagian besar bagian dasar dari proses. Teknik pra-pemrosesan data berbeda untuk data NLP dan Gambar juga. Pastikan untuk mencoba contoh langkah-langkah di atas dan menerapkannya di jalur Data Mining Anda.
Jika Anda penasaran untuk belajar tentang ilmu data, lihat Diploma PG IIIT-B & upGrad dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, 1- on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.
Apa itu pra-pemrosesan data dan apa signifikansinya?
Ini adalah teknik untuk melengkapi data mentah yang tidak terstruktur yang berupa gambar, teks, video. Data ini terlebih dahulu diproses untuk menghilangkan inkonsistensi, kesalahan, dan redundansi sehingga dapat dianalisis nanti.
Data mentah diubah menjadi data relevan yang dapat dipahami oleh mesin. Pra-pemrosesan data merupakan langkah penting untuk mengubah data untuk pemodelan. Tanpa pengolahan, praktis tidak ada gunanya.
Apa saja langkah-langkah yang terlibat dalam preprocessing data?
Pra-pemrosesan data melibatkan berbagai langkah untuk menyelesaikan seluruh proses. Data pertama-tama dibersihkan untuk menghilangkan noise dan mengisi nilai yang hilang. Setelah ini, data diintegrasikan dari berbagai sumber untuk digabungkan menjadi satu kumpulan data. Langkah-langkah tersebut kemudian dilanjutkan dengan transformasi, reduksi, dan diskritisasi.
Transformasi data mentah melibatkan normalisasi data. Reduksi dan diskritisasi pada dasarnya berhubungan dengan pengurangan atribut dan dimensi data. Ini diikuti dengan mengompresi kumpulan data yang besar ini.
Apa perbedaan antara metode univariat dan multivariat?
Metode univariat adalah metode paling sederhana untuk menangani outlier. Itu tidak meringkas hubungan apa pun karena itu adalah variasi tunggal dan tujuan utamanya adalah untuk menganalisis data dan menentukan pola yang terkait dengannya. Mean, median, dan modus merupakan contoh pola yang terdapat pada data univariat.
Di sisi lain, metode multivariat adalah untuk menganalisis tiga variabel atau lebih. Ini lebih tepat daripada metode sebelumnya karena, tidak seperti metode univariat, metode multivariat berhubungan dengan hubungan dan pola. Pohon Aditif, Analisis Korelasi Kanonik, dan Analisis Cluster adalah beberapa cara untuk melakukan analisis multivariat.
