Penskalaan Ciri: Normalisasi dan Standardisasi
MinMaxScaler, StandardScaler, RobustScaler — bila perlu menggunakan setiap satunya dan sebabnya penting.
Penskalaan Ciri: Normalisasi dan Standardisasi ialah pelajaran Pelajari AI dengan Python percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pelajari AI dengan Python, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.
Mengapakah Ciri Perlu Diskalakan?
Banyak algoritma sensitif terhadap MAGNITUDE ciri. Ciri yang berjulat 0 hingga 1,000,000 akan menguasai ciri yang berjulat 0 hingga 1 dalam model berasaskan jarak atau kecerunan. Penskalaan meletakkan ciri pada julat yang setanding.
Siapa yang Memerlukan Penskalaan
Penskalaan penting untuk KNN, SVM, k-means, PCA dan model penurunan kecerunan seperti regresi linear/logistik serta rangkaian neural. Model berasaskan pepohon (hutan rawak, penggalak kecerunan) tidak dipengaruhi oleh skala dan tidak memerlukannya.
Penormalan: MinMaxScaler
Penormalan min-maks menskalakan semula setiap ciri kepada julat tetap, biasanya 0 hingga 1, dengan (x - min) / (max - min). Kaedah ini mengekalkan bentuk taburan.
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.]Piawaian: StandardScaler
Piawaian memberikan setiap ciri mean sifar dan varians unit dengan (x - mean) / std. Hasilnya ialah skor-z; nilai dipusatkan tetapi tidak dihadkan.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
Xs = scaler.fit_transform(X)
print(Xs.ravel())
print(Xs.mean(), Xs.std()) # ~0 and ~1MinMax berbanding Piawai
Gunakan MinMax apabila anda memerlukan julat yang dihadkan (contohnya piksel imej atau input rangkaian neural). Gunakan piawai apabila algoritma mengandaikan data yang kira-kira berpusat pada sifar (PCA, SVM, model linear). MinMax lebih sensitif terhadap pencilan.
RobustScaler untuk Pencilan
RobustScaler berpusat pada MEDIAN dan membuat penskalaan berdasarkan IQR. Oleh sebab kedua-duanya tahan terhadap pencilan, ia merupakan pilihan yang tepat apabila nilai ekstrem akan memesongkan penskala lain.
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 berbanding transform
Penskala LEARN parameter dalam fit (min/maks atau mean/std), kemudian APPLY parameter itu dalam transform. fit_transform melakukan kedua-duanya dalam satu panggilan.
scaler = StandardScaler()
scaler.fit(X) # learns mean and std
Xs = scaler.transform(X) # applies themPeraturan Emas: Fit pada Data Latihan Sahaja
Sentiasa lakukan fit pada set TRAINING, kemudian hanya transform set ujian dengan parameter yang dipelajari itu. Melakukan fit pada data ujian membocorkan maklumat 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 Fit pada Data Ujian
Jika anda membuat penskalaan menggunakan statistik yang merangkumi set ujian, penilaian anda melihat maklumat yang tidak sepatutnya dilihat; ini ialah kebocoran data. Keadaan ini menghasilkan anggaran prestasi yang terlalu optimistik dan tidak boleh dipercayai.
Transformasi Songsang
Penskala boleh membalikkan operasi dengan inverse_transform, yang berguna untuk menukar ramalan berskala kembali kepada unit asal semasa pelaporan.
original = scaler.inverse_transform(X_train_scaled)
# recovers the pre-scaled valuesMenskalakan Sasaran
Dalam pengelasan, biasanya anda menskalakan FEATURES, bukannya sasaran. Dalam regresi, anda juga boleh menskalakan sasaran, tetapi ingat untuk melakukan transformasi songsang terhadap ramalan sebelum melaporkan ralat.
Semakan Pantas
Uji pengetahuan anda tentang penskalaan.
Rumusan
Kit alat penskalaan:
- Penskalaan penting untuk model berasaskan jarak atau kecerunan; pepohon tidak mempedulikannya
MinMaxScaler-> 0..1 yang dihadkan;StandardScaler-> mean sifar dan varians unitRobustScalermenggunakan median dan IQR serta teguh terhadap pencilan- Sentiasa lakukan
fit_transformpada data latihan dantransformhanya pada data ujian (elakkan kebocoran)
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 53
- Pelajaran
- 225
Soalan Lazim
Adakah pelajaran “Penskalaan Ciri: Normalisasi dan Standardisasi” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pelajari AI dengan Python, termasuk “Penskalaan Ciri: Normalisasi dan Standardisasi”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pelajari AI dengan Python merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Penskalaan Ciri: Normalisasi dan Standardisasi”?
MinMaxScaler, StandardScaler, RobustScaler — bila perlu menggunakan setiap satunya dan sebabnya penting. Anda berlatih Pelajari AI dengan Python menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pelajari AI dengan Python?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pelajari AI dengan Python di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Penskalaan Ciri: Normalisasi dan Standardisasi” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pelajari AI dengan Python ini?
Ya. Setiap pelajaran Pelajari AI dengan Python menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pengesanan dan Pembuangan Pencilan
- Pengekodan Pemboleh Ubah Kategori
- Penskalaan Ciri: Normalisasi dan Standardisasi
- Membina Saluran Pemprosesan Awal