Mari kita pelajari cara menggunakan Scikit-Learn untuk melakukan Normalisasi dan Standardisasi data Anda.
Persiapan
Kita perlu menginstal Pandas dan Scikit-Learn di lingkungan Anda, jadi pastikan itu sudah terinstal di lingkungan Anda. Jika belum, Anda bisa menginstalnya melalui pip menggunakan kode berikut:
pip install pandas scikit-learn
Kemudian, kita bisa mengimpor paket-paket tersebut ke dalam lingkungan Anda:
import numpy as np
import pandas as pd
from sklearn.preprocessing import StandardScaler, MinMaxScaler
Setelah siap, mari kita buat sampel data untuk contoh ini.
sample_data = {'Feature 1': [10, 20, 30, 40, 50], 'Feature 2': [18, 29, 31, 47, 68]}
df = pd.DataFrame(sample_data)
print(df)
Outputnya:
Feature 1 Feature 2
0 10 18
1 20 29
2 30 31
3 40 47
4 50 68
Kita akan mencoba melakukan standardisasi data dengan Scikit-Learn.
Normalisasi Data dengan Scikit-Learn Prepocessing
Normalisasi data adalah proses mengubah data ke dalam rentang tertentu (misalnya, rentang antara 0 dan 1). Proses ini sendiri tidak akan mengubah distribusi data.
Dengan sampel data kita, kita akan menggunakan MinMax Scaler untuk melakukan normalisasi data.
# Min-Max Scaling
min_max_scaler = MinMaxScaler(feature_range = (0,1))
df_min_max_scaled = pd.DataFrame(min_max_scaler.fit_transform(df), columns=df.columns)
print(df_min_max_scaled)
Outputnya:
Feature 1 Feature 2
0 0.00 0.00
1 0.25 0.22
2 0.50 0.26
3 0.75 0.58
4 1.00 1.00
Sesuaikan parameter feature_range ke rentang yang Anda inginkan jika diperlukan.
Normalisasi data baik dilakukan ketika fitur-fitur Anda memiliki skala yang berbeda dan Anda tidak ingin mengubah distribusi data. Ini sering dilakukan ketika Anda ingin menggunakan algoritma machine learning yang sensitif terhadap fitur dengan skala yang berbeda.
Standardisasi Data dengan Scikit-Learn Preprocessing
Standardisasi data adalah proses mengubah data menjadi distribusi standar dengan mengatur mean data menjadi nol dan standar deviasi menjadi satu.
# Standard Scaling
scaler = StandardScaler()
df_standard_scaled = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)
Outputnya:
Feature 1 Feature 2
0 -1.414214 -1.185711
1 -0.707107 -0.552564
2 0.000000 -0.437447
3 0.707107 0.483494
4 1.414214 1.692228
Standardisasi data penting jika teknik statistik atau algoritma Anda memerlukan data Anda mengikuti distribusi standar.
Mengetahui cara mengubah data Anda dan kapan melakukannya penting untuk memiliki proyek data science yang berhasil.
Comments