Memproses Category Data

Data Preprocessing 04

R. Kukuh
3 min readFeb 8, 2018

Dalam memproses suatu dataset, kita harus memperhatikan jenis-jenis data agar tidak terjadi kesalahan proses.

Salah satu jenis data yang akan dibahas dalam artikel kali ini adalah: Categorical Data.

Mari kita lihat dataset dari project sebelumnya berikut ini:

Isi dari dataset project sebelumnya

Terlihat jelas bahwa Age dan Salary adalah jenis Numberical Data, sedangkan Country dan Purchased termasuk Categorical Data.

Daftar Isi

  1. Python / Spyder
  2. R / RStudio

Python / Spyder

Buka Anaconda Navigator, lalu buka Spyder

Lanjutkan project sebelumnya tentang Data Preprocessing 03

ENCODE KOLOM COUNTRY

Tambahkan kode berikut ini:

Kode Python untuk melabeli suatu categorical data

Eksekusi kode diatas, sekaligus cek nilai X terbarunya seperti ini:

Hasil eksekusi kode dan nilai X terbaru

Dibandingkan dengan nilai X sebelumnya:

Perhatikan bahwa sekarang value dari kolom Country telah berubah:

  • France = 0
  • Spain = 1
  • Germany = 2

Tentu, angka 0, 1, dan 2 ini seharusnya tidak membuat Germany lebih baik dari Spain, dan Spain lebih baik dari France bukan?

Itu sebabnya kita masih harus melakukan proses selanjutnya: Dummy Encoding / One Hot Encoding

Ilustrasi hasil dari dummy encoding / one hot encoding

Tambahkan kode berikut:

Kode python untuk membuat one hot encoder

Eksekusi kode tersebut, lalu lihat nilai X terbaru:

Hasil eksekusi kode dan nilai X terbaru

Agar lebih enak dilihat, lihatlah nilai X dari variable explorer

Dobel klik pada X
Hasil dari one hot encoding

Jika dibandingkan dengan value awal kolom Country, adalah sebagai berikut:

Perbandingan setelah dan sebelum diproses dengan one hot encoder

ENCODE KOLOM PURCHASED

Seperti yang sudah dijelaskan diatas, ada 2 kolom yang jenisnya categorical data, yaitu Country dan Purchased.

Tambahkan kode berikut untuk meng-encode kolom Purchased:

Kode python untuk meng-encode kolom Purchased

Eksekusi kode tersebut, lalu cek nilai Y terbaru:

Hasil eksekusi kode dan nilai Y terbaru

Kita pun bisa memeriksanya lewat variable explorer:

Perbedaan nilai kolom Purchased setelah dan sebelum di-encode

Catatan: Hasil encode kolom Purchased ini tidak perlu diproses lagi dengan OneHot Encoder, karena tidak ada kerancuan antara label “Yes” dan “No”

R / RStudio

Buka RStudio

Lanjutkan project sebelumnya tentang Data Preprocessing 03

Tambahkan kode berikut ini:

Kode R untuk memproses categorical data kolom Country

Eksekusi kode tersebut, lalu lihat isi dataset terbaru

Hasil encode / transformasi categorical data kolom Country

Lakukan hal yang sama untuk kolom Purchased

Kode R untuk memproses categorical data kolom Purchased

Eksekusi kode tersebut, lalu lihat isi dataset terbaru

Hasil encode / transformasi categorical data kolom Purchased

--

--

R. Kukuh

Sr. Software Dev Learning Facilitator at Apple Developer Academy @UC