
Pengarang: Mohammed Fayiz Parappan
Awalnya diterbitkan di Menuju AI.
untuk Pembelajaran Mesin
Foto oleh Scott Graham di Unsplash
Prapemrosesan data merupakan pembersihan, pengambilan sampel, analisis, transformasi, dan penyandian data sehingga dapat dengan mudah ditafsirkan untuk memberikan wawasan atau dapat dimasukkan ke dalam model pembelajaran mesin.
Data adalah oli baru. Sangat penting untuk memiliki data dalam bentuk yang dapat ditafsirkan.
Pada artikel ini, saya akan membahas penerapan metode Data Preprocessing di R. Saya akan menggunakan Dataset Analisis dan Prediksi Serangan Jantung yang disediakan oleh Kaggle.
Langkah-langkah dalam Pemrosesan Data
Impor file data yang ditentukan dan Jelajahi Tangani Nilai yang Hilang, Hapus duplikat dan pengamatan yang tidak relevan Perbaiki kesalahan struktural Saring outlier yang tidak diinginkan Ukuran tendensi sentral (hitung rata-rata, median, mode, dan frekuensi) Ukuran dispersi (hitung varians, standar deviasi, rentang, antar -kuartil rentang, koefisien varians) Menghitung koefisien korelasi dan plot korelasi Periksa distribusi fitur menggunakan histogram dan Normal Probability Plot Pemisahan Data Impor file data yang ditunjuk dan Jelajahi
Anda dapat menemukan detail lebih lanjut tentang kumpulan data di sini: https://www.kaggle.com/datasets/rashikrahmanpritom/heart-attack-analysis-prediction-dataset/
Tidak seperti banyak bahasa pemrograman lainnya, dataset dalam bentuk file CSV dan TXT dapat langsung diimpor tanpa pustaka apa pun di R.
Baris teratas set data
Struktur kumpulan data
2. Tangani Nilai yang Hilang, Hapus duplikat dan pengamatan yang tidak relevan
Di R, nilai yang hilang diwakili oleh NA (tidak tersedia).
Jumlah nilai yang hilang
Karena tidak ada nilai yang hilang, tidak ada teknik nilai yang hilang yang digunakan. Jika nilai yang hilang ditemukan, baik dihapus atau diganti dengan rata-rata atau perkiraan.
Data duplikat dapat mencemari interpretasi kumpulan data dan juga dapat mengarahkan model pembelajaran mesin untuk mempelajari pola yang tidak ada dalam kenyataan.
Indeks dari satu-satunya baris duplikat ditemukan dan dihapus dari kumpulan data.
3. Perbaiki kesalahan struktural
Karena nilai dan duplikat yang hilang sekarang dihapus, mari kita periksa apakah distribusi keluaran wrt dataset seimbang atau tidak. Dataset diberi label sebagai 0 dan 1.
0 = Tidak Terjadi Serangan Jantung 1 = Terjadi Serangan Jantung
Karena jumlah pengamatan yang sama dari kedua kelas, dataset cukup seimbang.
4. Saring outlier yang tidak diinginkan
Outlier adalah titik data ekstrem yang tidak sesuai dengan tren umum yang terlihat di titik lain dari kumpulan data. Ini dapat berdampak penting pada interpretasi dan hasil yang diberikan oleh model ML. Penting untuk dicatat bahwa munculnya outlier tidak berarti mereka harus dihapus. Hanya outlier yang tidak relevan untuk analisis data yang harus dihapus.
Titik data outlier dalam kumpulan data dapat dideteksi dengan bantuan Cook’s Distance yang merupakan metrik untuk mengukur pengaruh setiap titik data terhadap model (di sini, regresi linier ditampilkan) di mana kumpulan data dimasukkan. Jarak Cook dapat dengan mudah dihitung di R menggunakan pustaka olsrr yang dapat diinstal dari Tools -> Install Packages.
Jumlah Outlier
Perhatikan bahwa kondisi untuk memperlakukan poin data sebagai outlier bersifat subyektif. Di sini, saya telah memperlakukan titik data yang jarak Cook-nya lebih dari lima kali jarak rata-rata Cook sebagai outlier. Ada 9 poin seperti itu, dan difilter dari kumpulan data.
5. Ukuran tendensi sentral (mean, median, modus, dan frekuensi)
Mean, median, mode, minimum, maksimum, dan kuartil dari setiap kerangka data dalam kumpulan data dapat diekstraksi dari ringkasan kumpulan data.
6. Ukuran dispersi (varians, standar deviasi, range, range antarkuartil, koefisien varians)
Saya telah menggunakan fungsi sapply(), yang mengambil daftar atau vektor atau bingkai data sebagai masukan dan memberikan keluaran sebagai vektor atau matriks untuk mendapatkan nilai ukuran dispersi.
Standar Deviasi dari setiap fitur
Variasi dari setiap fitur
IQR dari setiap fitur
Koefisien Varian dari setiap fitur
7. Hitung koefisien korelasi dan plot korelasi
Koefisien korelasi adalah angka antara -1 dan 1 yang menunjukkan kekuatan (bersama dengan arah) antara fitur-fitur dari kumpulan data. Berguna untuk mendeteksi multikolinearitas, yang mematikan independensi antara fitur set data dan dapat menyebabkan estimasi parameter yang tidak akurat oleh model ML.
Plot korelasi membantu dalam memvisualisasikan koefisien korelasi antara fitur dataset. Itu diplot di R menggunakan pustaka corrplot, yang dapat diinstal dari Tools -> Install Packages.
Koefisien korelasi dari setiap pasangan fitur
Plot Korelasi pada Dataset
Perhatikan bahwa intensitas warna biru menunjukkan kekuatan kolinearitas positif, sedangkan intensitas warna merah menunjukkan kekuatan kolinearitas negatif.
8. Periksa distribusi fitur menggunakan Histogram dan Normal Probability Plot
Histogram menunjukkan bagaimana nilai setiap fitur didistribusikan, yang dapat memberikan wawasan menarik ke dalam kumpulan data. Plot probabilitas normal memberi tahu kita seberapa dekat distribusi fitur dengan distribusi normal. Saya menggunakan perpustakaan ggplot2 dan qqplotr untuk memplot NPP.
Plot Histogram pada Usia Pasien
Plot Histogram pada tekanan darah Pasien
Plot histogram pada kadar kolesterol Pasien
Plot Probabilitas Normal pada usia Pasien
Plot Probabilitas Normal pada tekanan darah Pasien
Plot Probabilitas Normal pada Kadar Kolesterol Pasien
9. Pemisahan Data
Saya telah menggunakan perpustakaan caTools untuk membagi dataset menjadi set pelatihan dan pengujian dengan rasio 80:20.
Semua teknik ini akan membantu Anda mendapatkan wawasan yang lebih baik dari data dan juga mempersiapkan kumpulan data Anda untuk memasukkannya ke dalam model pembelajaran mesin. Jika Anda tahu teknik lain, bagikan di komentar untuk semua orang!
Terima kasih telah membaca, ikuti saya untuk lebih banyak
Pemrosesan Data di R Markdown awalnya diterbitkan di Towards AI on Medium, di mana orang melanjutkan percakapan dengan menyorot dan menanggapi cerita ini.
Diterbitkan melalui Menuju AI