การปรับขนาดคุณลักษณะเป็นขั้นตอนสำคัญในขั้นตอนก่อนการประมวลผลข้อมูลในการสร้างอัลกอริธึมการเรียนรู้ของเครื่อง ช่วยปรับข้อมูลให้เป็นปกติภายในช่วงที่กำหนด
ในบางครั้ง ยังช่วยเพิ่มความเร็วในการคำนวณโดยเครื่องอีกด้วย
เหตุใดจึงจำเป็น
ข้อมูลที่ป้อนไปยังอัลกอริธึมการเรียนรู้เนื่องจากอินพุตควรมีความสอดคล้องและมีโครงสร้าง คุณลักษณะทั้งหมดของข้อมูลที่ป้อนควรอยู่ในระดับเดียวเพื่อทำนายค่าได้อย่างมีประสิทธิภาพ แต่ในโลกแห่งความเป็นจริง ข้อมูลไม่มีโครงสร้าง และส่วนใหญ่แล้วจะไม่อยู่ในระดับเดียวกัน
นี่คือเวลาที่การทำให้เป็นมาตรฐานปรากฏในภาพ เป็นหนึ่งในกระบวนการเตรียมข้อมูลที่สำคัญที่สุด ช่วยในการเปลี่ยนค่าของคอลัมน์ของชุดข้อมูลอินพุตให้อยู่ในระดับเดียวกัน
ให้เราทำความเข้าใจว่าห้องสมุด Scikit เรียนรู้สามารถใช้ทำการปรับขนาดฟีเจอร์ใน Python ได้อย่างไร
ตัวอย่าง
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]]
คำอธิบาย
-
แพ็คเกจที่จำเป็นจะถูกนำเข้า
-
ข้อมูลอินพุตถูกสร้างขึ้นโดยใช้ไลบรารี Numpy
-
ฟังก์ชัน MinMaxScaler ที่มีอยู่ในคลาส 'การประมวลผลล่วงหน้า' ใช้เพื่อปรับขนาดข้อมูลให้อยู่ในช่วง 0 และ 1
-
ด้วยวิธีนี้ ข้อมูลใดๆ ในอาร์เรย์จะถูกลดขนาดลงเป็นค่าระหว่าง 0 ถึง 1
-
ข้อมูลที่ปรับขนาดนี้จะแสดงบนคอนโซล