Data Preparation Pada Machine Learning – getsolutionit.com
Data Preparation Pada Machine Learning

Setelah dataset dibersihkan masih ada beberapa tahap yang perlu dilakukan agar dataset benar-benar siap untuk diproses oleh model machine learning. 

Umumnya beberapa model machine learning tidak dapat mengolah data kategorik, sehingga kita perlu melakukan konversi data kategorik menjadi data numerik. Data kategorik adalah data yang berupa kategori dan berjenis string. Contoh data kategorik adalah sebuah kolom pada dataset yang berisi jenis binatang seperti anjing, kucing, dan harimau. 
Contoh lain dari data kategorik adalah merek mobil seperti Ford, Honda, Toyota, dan BMW.
Banyak model machine learning seperti Regresi Linear dan Support Vector Machine (kedua model ini akan dibahas pada modul-modul selanjutnya) yang hanya menerima input numerik sehingga tidak bisa memproses data kategorik. Salah satu teknik untuk mengubah data kategorik menjadi data numerik adalah dengan menggunakan One Hot Encoding. One Hot Encoding mengubah data kategorik dengan membuat kolom baru untuk setiap kategori seperti gambar di bawah.
20200430154346caec6dbf5518bc7c5a241b174cfc3a1b.jpeg

Data Preparation Opsional

Selain konversi data kategorik menjadi numerik, ada beberapa teknik lain dalam data preparation. Teknik yang akan dibahas antara lain membuang outliernormalization, dan standardization.

Outlier Removal

Dalam statistik, outlier adalah sebuah nilai yang jauh berbeda dari kumpulan nilai lainnya dan dapat mengacaukan hasil dari sebuah analisis statistik. Outlier dapat disebabkan kesalahan dalam pengumpulan data atau nilai tersebut benar ada dan memang unik dari kumpulan nilai lainnya.
Apapun alasannya kemunculannya, Anda perlu  mengetahui cara untuk mengidentifikasi dan memproses outlier. Ini adalah bagian penting dalam persiapan data di dalam machine learning. Salah satu cara termudah untuk mengecek apakah terdapat outlier dalam data kita adalah dengan melakukan visualisasi.
Berikut adalah contoh visualisasi terhadap data yang memiliki outlier.
202004301555150d113eb06db6c4e104e9b724fad52555.png
Dapat dilihat dengan jelas bahwa terdapat satu sampel yang jauh berbeda dengan sampel-sampel lainnya. Setelah mengetahui bahwa di data kita terdapat outlier, kita dapat mencari lalu menghapus sampel tersebut dari dataset.

Normalization

Normalization adalah salah satu teknik yang dipakai dalam data preparation. Tujuan dari normalisasi adalah mengubah nilai-nilai dari sebuah fitur ke dalam skala yang sama. Normalization memungkinkan kenaikan performa dan stabilitas dari sebuah model machine learning.
20200430155735c949cd9523d20175467d1643bed7f813.jpeg
Contoh dari normalization adalah ketika kita memiliki dataset seperti di atas yang memiliki fitur umur dengan skala 23 sampai 45 tahun, dan fitur penghasilan dengan skala 4.000.000 sampai 35.000.000. Di sini kita melihat bahwa fitur penghasilan sekitar satu juta kali lebih besar dari fitur umur dan menunjukkan kedua fitur ini berada pada skala yang sangat jauh berbeda.
Ketika membangun model seperti regresi linear, fitur penghasilan akan sangat mempengaruhi prediksi dari model karena nilainya yang jauh lebih besar daripada umur. Walaupun, tidak berarti fitur tersebut jauh lebih penting dari fitur umur. 
Salah satu contoh dari normalization adalah min-max scaling di mana nilai-nilai dipetakan ke dalam skala 0 sampai 1. SKLearn menyediakan library untuk normalization
Pada Colab kita Import library MinMaxScaler dan masukkan data dari tabel sebelumnya.


  1. from sklearn.preprocessing import MinMaxScaler

  2. data = [[12000000, 33], [35000000, 45], [4000000, 23], [6500000, 26], [9000000, 29]]


Pada cell selanjutnya kita buat object scaler dan panggil fungsi fit() pada data. Fungsi fit adalah fungsi untuk menghitung nilai minimum dan maksimum pada tiap kolom.


  1. scaler = MinMaxScaler()

  2. scaler.fit(data)


Apabila dijalankan maka hasilnya sebagai berikut.
2020043016071564b4f2f87f2af4fc5ef60483f079371b.png
Terakhir kita panggil fungsi transform yang akan mengaplikasikan scaler pada data.


  1. print(scaler.transform(data))


Hasil dari kode di atas seperti berikut.
202004301614398f717037932084ad68331b63170a1f37.jpeg 
Setiap nilai dari kolom gaji dan umur telah dipetakan pada skala yang sama seperti di bawah ini.
2020043016155873320389e0b4e482f69c150aeb7b0776.jpeg 
Untuk informasi lebih detail tentang Min Max Scaler, silakan Anda kunjungi tautan berikut.

Standardization

Standardization adalah proses untuk konversi nilai-nilai dari suatu fitur sehingga nilai-nilai tersebut memiliki skala yang sama. Z score adalah metode paling populer untuk standardisasi di mana setiap nilai pada sebuah atribut numerik akan dikurangi dengan rata-rata dan dibagi dengan standar deviasi dari seluruh nilai pada sebuah kolom atribut.
20200430162138dfa3caab88669d378e1b6f2b6e8cf084.jpeg
Fungsi standarisasi sama dengan normalization. Keduanya berfungsi menyamakan skala nilai dari tiap atribut pada data. SKLearn menyediakan library untuk mengaplikasikan standard scaler pada data.
20200430162315b1fae9ce77530470c7bc9d1027d2a721.jpeg
Pada colab di cell pertama, kita akan mengimport library preprocessing dari scikit learn lalu membuat data dummy sesuai dengan tabel di atas.


  1. from sklearn import preprocessing

  2. data = [[12000000, 33], [35000000, 45], [4000000, 23], [6500000, 26], [9000000, 29]]


Selanjutnya kita buat object scaler dan panggil fungsi fit dari scaler pada data. Fungsi fit memiliki fungsi untuk menghitung rata-rata dan deviasi standar dari setiap kolom atribut untuk kemudian dipakai pada fungsi transform.


  1. scaler = preprocessing.StandardScaler().fit(data)


Terakhir, kita panggil fungsi transform untuk mengaplikasikan standard scaler pada data. Untuk melihat hasil dari standard scaler kita tinggal memanggil objek scaler yang telah kita buat sebelumnya. Kodenya sebagai berikut.


  1. data = scaler.transform(data)

  2. data


Hasil akhirnya apabila dijalankan seperti di bawah ini.
20200430163503a199d1009837f9252c23dd82a73a2e6c.png
Untuk informasi lebih detail tentang standardization, silakan Anda kunjungi tautan berikut.
Dijual Akun Youtube Sultan
Akun Sudah Memiliki 100-800.000 Subscribes & Sudah Monetisasi
Details
Dijual Akun FB, IG, LINKEDIN & Tiktok Mewah

Akun Sudah Memiliki 100-800.000 Followers

Details
Dijual Akun Twitter Mewah
Akun Sudah Memiliki 100-800.000 Followers
Details
Tools AI & Softwher
Tools AI & Beragam Softwher Serta Beragam Source Code Web Perimum
Details
.
Berikut List Produk Kami :

Dapatkan Produk Virtual Kmisini dengan harga pelajar, kualitas profesional ahli. 




Produk Yang Kami Jual Semua Berkualitas Premium & 100% Aman

Read More
Berikut List Layanan Kami :

Dapatkan layanan kami di sini dengan harga pelajar, kualitas profesional ahli. 




Jadikan Kami Tim Anda dalam Mengembangkan Bisnis Luar Biasa Anda.

Read More
Jasa Kelola Konten
Facebook, Instagram, Twitter, dan Linkedin
Details
Jasa Editing Video
Jasa mengelola Konten youtube dan tiktok
Details
Jasa Iklan Untuk Google
Website, Youtube, Gmail & Google Maps
Details
Jasa Website
Jasa Pembuatan website profesional
Details
Jasa SEO
Jasa SEO Website (search engine optimization)
Details
Jasa Tools AI
Setup & Pembuatan Tools
Details
Jasa Akun Terverifikasi
Centang Hijau / Biru All Media Sosial
Details
Jasa Pembuatan Project
IoT, Robotika, Elektronika dan Otomasi
Details
jasa sistem informasi
jasa pembuatan sistem informasi
Details
Jasa Pembuatan Aplikasi
Aplikasi Android, iOS dan Dekstop
Details
Jasa Google Maps
Jasa Pembuatan Titik Google Maps & Tambah Ulasan Positif
Details
Cyber Security
Jasa Cyber Security- Keamanan Semua Sistem
Details