Belajar 4 Teknik Memproses Data di Python

Python menangani banyak data mentah di dunia nyata. Algoritme machine learning mengharapkan data diformat dengan cara tertentu sebelum diproses. Untuk mempersiapkan data untuk penyerapan oleh algoritme machine learning, terlebih dulu harus memprosesnya dan mengonversinya ke dalam format yang benar. 

Untuk bisa melakukan tutorial ini, kamu harus telah menginstall beberapa paket yang dibutuhkan dulu. Baca Instalasi NumPy, SciPy, Matplotlib dan sklearn di Windows

Mari kita lihat bagaimana memproses data;.

Buat file Python baru (*.py) dan ketik paket script berikut:

import numpy as np
from sklearn import preprocessing

input_data = np.array([[5.1, -2.93.3], [-1.27.8, -6.1], [3.90.42.1], [7.3, -9.9, -4.5]])

# Binarize data
data_binarized = preprocessing.Binarizer(threshold=2.1).transform(input_data)
print("\nBinarized data:\n", data_binarized)

# Print mean and standard deviation
print("\nBEFORE:")
print("Mean =", input_data.mean(axis=0))
print("Std deviation =", input_data.std(axis=0))

# Remove mean
data_scaled = preprocessing.scale(input_data)
print("\nAFTER:")
print("Mean =", data_scaled.mean(axis=0))
print("Std deviation =", data_scaled.std(axis=0))

# Min max scaling
data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(01))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print("\nMin max scaled data:\n", data_scaled_minmax)

# Normalize data
data_normalized_l1 = preprocessing.normalize(input_data, norm='l1')
data_normalized_l2 = preprocessing.normalize(input_data, norm='l2')
print("\nL1 normalized data:\n", data_normalized_l1)
print("\nL2 normalized data:\n", data_normalized_l2)

 Catatan: disini saya menggunakan text editor Visual Studio Code:

 Bila kamu betul, maka akan muncul hasil nya seperti ini

Pembahasan

Kita saat ini berbicara tentang beberapa teknik preprocessing data yang berbeda di python, yakni:

  1. Binarisasi (Binarization)
  2. Penghapusan Mean (Mean removal)
  3. Penskalaan (Scaling)
  4. Normalisasi (Normalization)

Script (kode) diatas sudah berisi 4 teknik memproses data. Mari kita bahas setiap teknik, satu per satu:

1. Binarisasi (Binarization)

Proses ini digunakan ketika kita ingin mengubah nilai numerik kita menjadi nilai boolean.
Mari kita gunakan metode inbuilt untuk binarize input data menggunakan 2.1 sebagai nilai ambang batas.

2. Penghapusan Mean (Mean removal)
Menghapus mean adalah teknik pemrosesan awal yang umum digunakan dalam machine learning. Biasanya berguna untuk menghilangkan mean dari vektor fitur kita, sehingga setiap fitur berada di tengah di nol. Kami melakukan ini untuk menghilangkan bias dari fitur-fitur dalam vektor fitur kami. 

3. Penskalaan (Scaling)
Dalam vektor fitur, nilai setiap fitur dapat bervariasi di antara banyak nilai acak. Sehingga menjadi penting untuk menskalakan fitur-fitur tersebut sehingga menjadi bidang permainan  algoritma machine learning yang layak untuk dilatih.

4. Normalisasi (Normalization)
Proses normalisasi untuk mengubah nilai dalam vektor fitur sehingga dapat mengukurnya dalam skala yang sama. Dalam machine learning, dapat menggunakan berbagai bentuk normalisasi. 

Beberapa bentuk normalisasi yang paling umum bertujuan untuk mengubah nilai sehingga dijumlahkan menjadi 1. normalisasi L1, yang mengacu pada Penyimpangan Mutlak Terkecil, bekerja dengan memastikan bahwa jumlah nilai absolut adalah 1 di setiap baris. Normalisasi L2, yang mengacu pada kuadrat terkecil, bekerja dengan memastikan bahwa jumlah kuadratnya adalah 1.

Secara umum, teknik normalisasi L1 dianggap lebih kuat daripada teknik normalisasi L2 . Teknik normalisasi L1 kuat karena tahan terhadap pencilan dalam data. Seringkali, data cenderung mengandung pencilan dan kita tidak dapat berbuat apa-apa. Kami mau untuk menggunakan teknik yang dapat mengabaikannya dengan aman dan efektif selama penghitungan. Jika kita memecahkan masalah di mana pencilan penting, maka mungkin normalisasi L2 menjadi pilihan yang lebih baik.

0 Komentar