Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธี Scale ข้อมูลด้วย scikit-learn Library ใน Python

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) แยกกัน