0Pricing
Learn AI with Python · Pelajaran

Penskalaan Fitur: Normalisasi dan Standardisasi

MinMaxScaler, StandardScaler, RobustScaler — kapan menggunakan masing-masing dan alasannya.

Penskalaan Fitur: Normalisasi dan Standardisasi adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Mengapa Menskalakan Fitur?

Banyak algoritme sensitif terhadap MAGNITUDE fitur. Fitur dengan rentang 0 hingga 1.000.000 akan mendominasi fitur dengan rentang 0 hingga 1 pada model berbasis jarak atau gradien. Penskalaan menempatkan fitur pada rentang yang sebanding.

Siapa yang Memerlukan Penskalaan

Penskalaan penting untuk KNN, SVM, k-means, PCA, dan model berbasis penurunan gradien seperti regresi linear/logistik serta jaringan saraf. Model berbasis pohon (hutan acak, peningkatan gradien) tidak terpengaruh skala dan tidak memerlukannya.

Normalisasi: MinMaxScaler

Normalisasi min-maks menskalakan ulang setiap fitur ke rentang tetap, biasanya 0 hingga 1, dengan (x - min) / (max - min). Cara ini mempertahankan bentuk distribusi.

from sklearn.preprocessing import MinMaxScaler
import numpy as np
X = np.array([[10.0], [20.0], [30.0], [40.0]])
scaler = MinMaxScaler()
print(scaler.fit_transform(X).ravel())   # [0. 0.333 0.667 1.]

Standardisasi: StandardScaler

Standardisasi membuat setiap fitur memiliki rata-rata nol dan varians satu dengan (x - mean) / std. Hasilnya adalah skor-z; nilai dipusatkan, bukan dibatasi.

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
Xs = scaler.fit_transform(X)
print(Xs.ravel())
print(Xs.mean(), Xs.std())   # ~0 and ~1

MinMax dibandingkan Standar

Gunakan MinMax saat Anda memerlukan rentang yang dibatasi (misalnya piksel gambar atau masukan jaringan saraf). Gunakan Standar saat algoritme mengasumsikan data yang kira-kira berpusat di sekitar nol (PCA, SVM, model linear). MinMax lebih sensitif terhadap pencilan.

RobustScaler untuk Pencilan

RobustScaler memusatkan data berdasarkan MEDIAN dan menskalakannya berdasarkan IQR. Karena keduanya tahan terhadap pencilan, alat ini merupakan pilihan yang tepat ketika nilai ekstrem dapat mengubah hasil penskala lainnya.

from sklearn.preprocessing import RobustScaler
Xo = np.array([[1.0], [2.0], [3.0], [4.0], [100.0]])
print(RobustScaler().fit_transform(Xo).ravel())

fit dibandingkan transform

Penskala LEARN parameter dalam fit (nilai min/maks atau mean/std), lalu APPLY parameter tersebut dalam transform. fit_transform melakukan keduanya dalam satu pemanggilan.

scaler = StandardScaler()
scaler.fit(X)          # learns mean and std
Xs = scaler.transform(X)   # applies them

Aturan Emas: Gunakan fit Hanya pada Data Pelatihan

Selalu lakukan fit pada set TRAINING, lalu hanya lakukan transform pada set uji menggunakan parameter yang telah dipelajari. Melakukan fit pada data uji membocorkan informasi tentang data tersebut ke dalam model Anda.

scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)   # transform only!

Mengapa Tidak Melakukan fit pada Data Uji

Jika Anda melakukan penskalaan menggunakan statistik yang mencakup set uji, evaluasi Anda melihat informasi yang seharusnya tidak tersedia. Ini adalah kebocoran data. Akibatnya, perkiraan kinerja menjadi terlalu optimistis dan tidak dapat diandalkan.

Transformasi Balik

Penskala dapat membalikkan operasi dengan inverse_transform, yang berguna untuk mengubah prediksi yang telah diskalakan kembali ke satuan asli saat pelaporan.

original = scaler.inverse_transform(X_train_scaled)
# recovers the pre-scaled values

Menskalakan Target

Dalam klasifikasi, biasanya Anda menskalakan FEATURES, bukan target. Dalam regresi, Anda juga dapat menskalakan target, tetapi ingat untuk melakukan transformasi balik pada prediksi sebelum melaporkan kesalahan.

Pemeriksaan Singkat

Uji pengetahuan Anda tentang penskalaan.

Ringkasan

Perangkat penskalaan:

  • Penskalaan penting untuk model berbasis jarak atau gradien; pohon mengabaikannya
  • MinMaxScaler -> 0..1 yang dibatasi; StandardScaler -> rata-rata nol, varians satu
  • RobustScaler menggunakan median dan IQR, sehingga tangguh terhadap pencilan
  • Selalu gunakan fit_transform pada data latih dan transform hanya pada data uji (hindari kebocoran)

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penskalaan Fitur: Normalisasi dan Standardisasi” gratis?

Ya — teks lengkap “Penskalaan Fitur: Normalisasi dan Standardisasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penskalaan Fitur: Normalisasi dan Standardisasi”?

MinMaxScaler, StandardScaler, RobustScaler — kapan menggunakan masing-masing dan alasannya. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Penskalaan Fitur: Normalisasi dan Standardisasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Deteksi dan Penghapusan Pencilan
  2. Pengodean Variabel Kategorikal
  3. Penskalaan Fitur: Normalisasi dan Standardisasi
  4. Membangun Pipeline Prapemrosesan
← Kembali ke Learn AI with Python