🛴Pra Pengolahan Data
Pengantar
Pra pengolahan data merupakan proses yang dilakukan sebelum proses ekstraksi fitur. Proses ini merupakan tahap persiapan agar data yang digunakan pada tahap ekstraksi fitur memiliki standar yang sama. Beberapa hal yang dapat dilakukan pada tahap ini adalah,
Data imputation → Mengisi nilai data yang kosong.
Normalisasi → Menyekalakan nilai variabel pada rentang tertentu.
Standarisasi → Menyekalakan nilai variabel dengan membuat data memiliki nilai
dan .
Resizing → Menyesuaikan ukuran dimensi (biasanya pada citra).
Quantization → Disebut juga sebagai binning, yaitu mengelompokkan data berdasarkan rentang tertentu.
Encoding → Mengkodekan data kedalam kode nilai tertentu. Teknik ini biasanya digunakan untuk data-data ordinal.
Dan masih banyak lagi.
Pada modul praktikum ini, kita akan fokus kepada data imputation, normalisasi, dan standarisasi.
Data Imputation
Data imputation merupakan teknik untuk mengganti nilai yang hilang didalam sebuah data. Masih ingat dengan kolom "Cabin" pada data Titanic? Agar data tersebut dapat diolah, kita harus mengganti data tersebut dengan nilai yang lain. "NaN" berarti "Not a Number". Mungkin terlihat seperti kurang relevan dikarenakan "Cabin" berisi nilai karakter (string), akan tetapi "NaN" juga dapat diartikan tidak ada nilai sama sekali disana.
Untuk mengatasi masalah tersebut, terdapat beberapa teknik yang dapat kita lakukan, diantaranya adalah,
Menggantinya dengan nilai mean.
Menggantinya dengan nilai median.
Menggantinya dengan nilai modus.
Menghapus data yang menggandung nilai "NaN".
Akan tetapi perlu diingat kembali terkait dengan konsep distribusi data. Teknik imputasi yang digunakan dapat disesuaikan dengan pola distribusi data yang dimiliki.
Normalisasi
Normalisasi adalah salah satu teknik penyekalaan fitur untuk menghasilkan nilai fitur yang berada dalam rentang baru, yaitu antara 0 dan 1. Persamaan berikut digunakan pada teknik normalisasi.
𝑥′ adalah skala variabel dalam rentang yang baru, 𝑥 adalah nilai data yang akan dinormalisasi, 𝑥𝑚𝑖𝑛 adalah nilai minimal dari variabel, dan 𝑥𝑚𝑎𝑥 adalah nilai terbesar dari variabel.
Sebagai contoh, pada sebuah data diketahui nilai minimum adalah -10 dan nilai maksimumnya adalah 30. Jika data yang akan dinormalisasi adalah 18.8. Maka perhitungan normalisasinya adalah sebagai berikut,
Standarisasi
Model pembelajaran mesin dapat bekerja lebih baik ketika dilatih pada data yang terstandarisasi. Standarisasi melibatkan penyekalaan ulang pada distribusi nilai, sehingga didapatkan nilai tengah (mean) dari data yang diamati adalah 0 dan nilai standar deviasinya adalah 1. Seperti halnya pada normalisasi, standardisasi berguna untuk model pembelajaran mesin saat data yang digunakan memiliki rentang skala yang jauh berbeda. Persamaan berikut digunakan untuk mendapatkan nilai fitur yang terstandarisasi.
Dimana 𝜇 adalah nilai rata-rata dari fitur dan 𝜎 adalah nilai simpangan baku dari fitur.
Sebagai contoh, jika diketahui nilai rata-rata dari sekumpulan data adalah 10.0. Kemudian simpangan bakunya adalah 5.0. Jika sebuah data 𝑥 memiliki nilai 20.7. Maka dengan menggunakan nilai-nilai tersebut, kita dapat menghitung nilai standarisasinya, yaitu,
Encoding
Dalam pembelajaran mesin terdapat 2 jenis data yang paling banyak digunakan yaitu tipe data kategorikal dan tipe data numerikal. Data numerik melibatkan fitur yang terdiri dari angka, seperti bilangan bulat atau bilangan desimal, sedangkan tipe data kategorikal adalah atribut yang diperlakukan sebagai simbol berbeda atau hanya nama. Data kategorikal digunakan untuk data yang tidak dapat dihitung secara kuantitatif, sehingga tidak dapat menerima operasi matematika seperti penjumlahan atau perkalian. Namun demikian, nilai-nilainya dapat dibedakan antara satu dengan lainnya. Contoh data kategorikal adalah,
golongan darah manusia (A, AB, B, O).
konversi nilai huruf pada mata kuliah (A, B+, B, C+, C, D, dan E).
tingkatan juara pada ajang perlombaan (juara 1, juara 2, juara 3).
Variabel numerik dapat diubah menjadi variabel ordinal dengan membagi rentang variabel numerik menjadi beberapa bin dan menetapkan nilai ke setiap bin. Misalnya, variabel numerik antara 1 sampai 20 dapat dibagi menjadi variabel ordinal dengan 4 label dengan hubungan ordinal: 1-5, 6-10, 11-15, 16-20. Proses Ini disebut diskritisasi. Oleh karena itu, dapat didefinisikan bahwa,
Variabel Nominal --> Variabel terdiri dari sekumpulan nilai diskrit terbatas tanpa hubungan antar nilai atau tingkatan secara alamiah. Contohnya adalah data nama kota seperti Jakarta, Bandung, Bali.
Variabel Ordinal --> Variabel terdiri dari sekumpulan nilai diskrit yang terbatas dengan urutan peringkat antar nilai. Contohnya variabel ordinal adalah ketika terdapat urutan rendang, sedang, tinggi.
Beberapa implementasi algoritma pembelajaran mesin mengharuskan semua data harus menjadi data numerikal. Dalam artian bahwa data kategorikal harus diubah ke dalam bentuk numerikal. Ada tiga pendekatan umum yang dapat digunakan untuk melakukan konversi variabel ordinal dan variabel kategorikal menjadi nilai numerikal, yaitu,
Ordinal encoding
One-hot encoding
Dummy variable encoding
Ordinal Encoding
Pada metode ordinal encoding, setiap kategori yang unik diberi nilai integer. Misalnya, "merah" adalah 1, "hijau" adalah 2, dan "biru" adalah 3. Biasanya nilai integer yang digunakan berawal dai nilai 0. Ordinal encoding lebih cocok untuk data bertipe variabel nominal dimana tidak terdapat hubungan atau urutan antar variabel.
Sebagai contoh, terdapat data dengan tipe kategorikal seperti yang tertera pada tabel dibawah ini. Data tersebut akan diubah menjadi data dalam bentuk numerik. Setiap data akan dirupakan kedalam bentuk angka secara berurutan.
Politeknik Negeri Malang
Politeknik Negeri Batam
Politeknik Elektronika Negeri Surabaya
Politeknik Negeri Semarang
Setelah diurutkan maka urutan pertama akan diberi nilai 0, 1, 2, dan seterusnya, sehingga didapatkan hasil pada Tabel dibawah ini.
Politeknik Negeri Malang
0
Politeknik Negeri Batam
1
Politeknik Elektronika Negeri Surabaya
2
Politeknik Negeri Semarang
3
One-Hot Encoding
Metode one-hot encoding merepresentasikan nilai kategorikal menggunakan 1 fitur biner untuk setiap nilai yang memungkinkan. Untuk data kategorikal (variabel nominal) dimana tidak ada hubungan urutan peringkat antar nilai penggunaaan ordinal encoding tidak memberikan performa yang bagus pada model pembelajaran mesin. Memaksakan hubungan urutan (ordinal) melalui ordinal encoding memungkinkan model untuk berasumsi bahwa terdapat urutan antar kategori sehingga mengakibatkan kinerja yang buruk atau hasil yang tidak diharapkan. Dalam hal ini, one-hot encoding dapat diterapkan terhadap data yang memiliki tipe ordinal. Tabel dibawah ini menunjukkan contoh one-hot encoding.
Politeknik Negeri Malang
1
0
0
0
Politeknik Negeri Batam
0
1
0
0
Politeknik Elektronika Negeri Surabaya
0
0
1
0
Politeknik Negeri Semarang
0
0
0
1
Langkah pertama yang dilakukan adalah melakukan pengurutan data. Setelah diurutkan selanjutnya nilai biner akan ditambahkan kepada setiap kategori. One-hot encoding akan menambah kolom fitur sesuai dengan nama politeknik yang ada di data. Nilai 1 menunjukkan bahwa pada baris tersebut terdapat data politeknik tersebut sedangkan nilai 0 menunjukkan sebaliknya. Sebagai contoh, Politeknik Negeri Malang akan direpresentasikan dengan [1, 0, 0, 0] dengan “1” untuk nilai biner pertama, kemudian Politeknik Elektronika Negeri Surabaya direpresentasikan dengan [0, 1, 0, 0], dan seterusnya.
Dummy Variable Coding
One-hot encoding membuat satu variabel biner untuk setiap kategori. Terdapat redundansi dalam one-hot encoding. Contoh jika [1, 0, 0] mewakili “Politeknik Negeri Malang” dan [0, 1, 0] mewakili “Politeknik Elektronika Negeri Surabaya”. Maka, pada dummy variabel encoding setiap nilai fitur akan diwakili oleh dua nilai biner, [0, 0]. Tabel dibawah merupakan contoh penerapan dummy variable encoding.
Politeknik Negeri Malang
0
0
Politeknik Negeri Batam
0
1
Politeknik Elektronika Negeri Surabaya
1
0
Politeknik Negeri Semarang
1
1
Last updated