Feature scaling สำคัญใน data pre-processing สำหรับ ML ช่วย normalize ข้อมูลให้อยู่ในช่วงเฉพาะ บางครั้งเพิ่มความเร็วการคำนวณ
ข้อมูล input ต้อง consistent structured ทุก feature ต้อง same scale ข้อมูลจริงมักไม่ใช่ จึงต้อง normalize
ตัวอย่าง: MinMaxScaler (0 ถึง 1)
import numpy as np
from sklearn import preprocessing
input_data = np.array([
[34.78, 31.9, -65.5],
[-16.5, 2.45, -83.5],
[0.5, -87.98, 45.62],
[5.9, 2.38, -55.82]
])
data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0,1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print("\nThe scaled data is \n", data_scaled_minmax)
ผลลัพธ์
The scaled data is [[1. 1. 0.1394052 ] [0. 0.75433767 0. ] [0.33151326 0. 1. ] [0.43681747 0.75375375 0.21437423]]
คำอธิบาย
- นำเข้าแพ็กเกจ
- สร้างข้อมูล input ด้วย NumPy
- ใช้ MinMaxScaler feature_range=(0,1) scale ข้อมูลให้อยู่ 0-1
- fit_transform คำนวณ min/max แล้ว transform
- แสดงข้อมูลที่ scaled
MinMaxScaler: X' = (X - X_min) / (X_max - X_min) ต่อ feature (column) แยกกัน