Prapemrosesan Data di R: Tutorial Ultimate [2022]

Diterbitkan: 2021-03-01

Dalam prapemrosesan data berikut dalam tutorial R, Anda akan mempelajari dasar-dasar cara melakukan prapemrosesan data. Tutorial ini mengharuskan Anda untuk terbiasa dengan dasar-dasar R dan pemrograman:

Daftar isi

1. Langkah: Menemukan dan Memperbaiki Masalah

Kami akan memulai pra-pemrosesan data kami di tutorial R dengan mengimpor kumpulan data terlebih dahulu. Lagi pula, Anda tidak dapat melakukan praproses data jika Anda tidak memiliki datanya sejak awal.

Dalam kasus kami, data disimpan dalam file data.csv di direktori kerja. Anda dapat menggunakan perintah setwd("lokasi yang diinginkan") dan mengatur direktori kerja.

Inilah cara Anda memulai proses:

kumpulan data <- read.csv(“Data.csv”)

Berikut kumpulan data kami:

## Negara Usia Gaji Dibeli
## 1 Perancis 44 72000 Tidak
## 2 Spanyol 27 48000 Ya
## 3 Jerman 30 54000 Tidak
## 4 Spanyol 38 61000 Tidak
## 5 Jerman 40 tidak Ya
## 6 Perancis 35 58000 Ya
## 7 Spanyol tidak 52000 Tidak
## 8 Perancis 48 79.000 Ya
## 9 Jerman 50 83000 Tidak
## 10 Perancis 37 67000 Ya

Seperti yang Anda lihat, ada nilai yang hilang di kolom Gaji dan Usia dari kumpulan data kami. Kami telah mengidentifikasi masalah yang ada dalam kumpulan data kami sehingga kami sekarang dapat mulai memperbaikinya.

Tampaknya tidak ada masalah lain dalam kumpulan data kami sehingga kami hanya perlu menangani nilai yang hilang. Kita dapat memperbaiki masalah ini dengan mengganti nilai NA dengan nilai rata-rata dari masing-masing kolom. Berikut caranya:

dataset$Usia <- ifelse(is.na(dataset$Umur),

ave(dataset$Usia, MENYENANGKAN = fungsi(x)

mean(x, na.rm = BENAR)),

kumpulan data$Usia)

dataset$Gaji <- ifelse(is.na(dataset$Gaji),

ave(dataset$Gaji, MENYENANGKAN = fungsi(x)

mean(x, na.rm = BENAR)),

set data$Gaji)

Perhatikan bagaimana kita menggunakan fungsi ave() di sini. Dibutuhkan rata-rata kolom tertentu yang telah Anda masukkan di mana FUN adalah fungsi dari x yang menghitung rata-rata tidak termasuk nilai NA (na.rm=TRUE).

lain,

ambil apa saja yang ada di dataset$Age

Kami akan menggunakan fungsi mean() sekarang:
#mendefinisikan x = 1 2 3

x <- 1:3

#memperkenalkan nilai yang hilang

x[1] <- NA

# rata-rata = NA

rata-rata (x)

## [1] NA

# mean = mean tidak termasuk nilai NA

mean(x, na.rm = T)

## [1] 2.5

Setelah mengidentifikasi dan memperbaiki masalah, dataset kami terlihat seperti ini:

## Negara Usia Gaji Dibeli
## 1 Perancis 44 72000.00 Tidak
## 2 Spanyol 27 48000.00 Ya
## 3 Jerman 30 54000.00 Tidak
## 4 Spanyol 38 61000.00 Tidak
## 5 Jerman 40 63777,78 Ya
## 6 Perancis 35 58000.00 Ya
## 7 Spanyol 38 52000.00 Tidak
## 8 Perancis 48 79000.00 Ya
## 9 Jerman 50 83000.00 Tidak
## 10 Perancis 37 67000.00 Ya

Baca Juga: Peluang Karir di Bahasa Pemrograman R

2. Langkah: Data Kategoris

Data kategoris adalah data non-numerik yang termasuk dalam kategori tertentu. Kolom Negara dalam kumpulan data kami adalah data kategorikal. Fungsi read.csv() di R akan menjadikan semua variabel string sebagai variabel kategoris. Namun, kami tidak dapat menggunakannya dalam setiap kasus.

Inilah cara Anda membuat variabel tertentu sebagai variabel faktor:
dataset$Negara = faktor(dataset$Negara,

level = c('Prancis', 'Spanyol', 'Jerman'),

label = c(1, 2, 3))

dataset$Dibeli = faktor(set data$Dibeli,

level = c('Tidak', 'Ya'),

label = c(0, 1))

3. Langkah: Memisahkan Data

Sekarang, kita harus membagi dataset kita menjadi dua dataset terpisah. Satu untuk melatih model pembelajaran mesin kami sementara yang lain untuk menguji yang sama.

Untuk melakukannya, pertama-tama kita akan menginstal paket caTools (jika tidak tersedia) dan menambahkannya ke perpustakaan kita. Setelah itu, kita akan menggunakan fungsi set.seed() untuk memastikan bahwa pemisahan dilakukan secara acak. Gunakan kode berikut:
perpustakaan (caTools)

set.seed(123)

split = sample.split(set data$Dibeli,SplitRatio = 0.8)

training_set = subset(set data,split == TRUE)

test_set = subset(set data, split == FALSE)

Anda pasti telah memperhatikan bahwa kami telah mempertahankan rasio split sebagai 80:20. Ini karena ini adalah rasio split paling konvensional untuk set pelatihan dan set tes. Metode sample.split() kami telah mengambil kolom dan membuat array numerik dengan nilai benar dan salah yang diacak sesuai dengan rasio pemisahan.

4. Langkah: Penskalaan Fitur atau Overfitting

Penskalaan fitur diperlukan jika fitur yang berbeda dalam kumpulan data Anda memiliki rentang yang berbeda. Dalam kasus kami, kolom Usia dan Gaji memiliki rentang yang berbeda, yang dapat menyebabkan masalah dalam melatih model ML kami.

Ketika Anda memiliki fitur dengan jangkauan yang jauh lebih tinggi daripada fitur lainnya, jarak euclidean meningkat secara signifikan, menyebabkan model memberikan hasil yang salah.

Perhatikan bahwa sebagian besar perpustakaan di R memperbaiki masalah ini secara otomatis, tetapi penting untuk mengetahui cara memperbaikinya. Lakukan hal berikut:

training_set[,2:3] = skala(training_set[,2:3])

test_set[,2:3] = skala(test_set[,2:3])

Ini akan memperbaiki masalah dan fitur set pelatihan Anda akan memiliki rentang yang sama, meminimalkan kemungkinan kesalahan selama implementasi pembelajaran mesin.

Dapatkan sertifikasi ilmu data dari Universitas top dunia. Pelajari Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Kesimpulan

Kami harap Anda menemukan prapemrosesan data kami di tutorial R bermanfaat. Akan lebih baik untuk memahami tutorial sebelum Anda mencoba mengujinya sendiri. Memahami konsep jauh lebih penting daripada menggunakannya.

Apa pendapat Anda tentang pra-pemrosesan data kami di tutorial R? Bagikan di komentar di bawah.

Jika Anda penasaran untuk belajar tentang R, ilmu data, lihat PG Eksekutif kami 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.

Berapa banyak jenis polimorfisme yang ada di python?

Dalam Python, polimorfisme mengacu pada nama fungsi generik yang dapat digunakan untuk berbagai tujuan. Ide ini biasa digunakan dalam konsep pemrograman Python yang berorientasi objek.
Polymorphism diimplementasikan dalam Python untuk beberapa tujuan, seperti Duck Typing, Operator overloading, Method overloading, dan Method overriding, seperti pada bahasa pemrograman lain seperti Java dan C++. Overloading dan overriding adalah dua metode utama untuk mencapai polimorfisme.
Kelas dengan banyak metode dengan nama yang sama tetapi argumen yang berbeda dikenal sebagai metode overloading. Meskipun metode overloading tidak didukung secara default di Python, ada banyak teknik untuk melakukannya.

Apa itu mengetik Bebek?

Mengetik bebek adalah gagasan polimorfisme. Ungkapan mengetik bebek berasal dari pepatah yang menyatakan bahwa apa pun yang berjalan, dukun, dan berenang seperti bebek disebut bebek, apa pun itu. Secara sederhana, ini menunjukkan bahwa jika sesuatu cocok dengan perilakunya dengan sesuatu yang lain, itu akan dianggap sebagai anggota kategori itu.

Apa itu overloading dan overriding?

Ketika metode dengan nama dan argumen yang sama digunakan baik di kelas turunan maupun kelas dasar atau super, metode kelas turunan dikatakan menggantikan metode yang disediakan di kelas dasar. Ketika metode yang ditimpa dipanggil, metode kelas turunan selalu dipanggil. Metode yang digunakan di kelas dasar sekarang disembunyikan.
Python, di sisi lain, tidak menyediakan metode overloading berdasarkan jenis, kuantitas, atau urutan parameter metode. Metode overloading adalah pendekatan Python untuk mendefinisikan metode sedemikian rupa sehingga dapat dipanggil dalam berbagai cara. Tidak seperti bahasa pemrograman lain, yang satu ini unik.