กระบวนการแปลงช่วงของค่าเป็นช่วงค่ามาตรฐานเรียกว่านอร์มัลไลเซชัน ค่าเหล่านี้อาจอยู่ระหว่าง -1 ถึง +1 หรือ 0 ถึง 1 ข้อมูลสามารถทำให้เป็นมาตรฐานได้โดยใช้การลบและการหารด้วย
ข้อมูลที่ป้อนไปยังอัลกอริธึมการเรียนรู้เนื่องจากอินพุตควรมีความสอดคล้องและมีโครงสร้าง คุณลักษณะทั้งหมดของข้อมูลที่ป้อนควรอยู่ในระดับเดียวเพื่อทำนายค่าได้อย่างมีประสิทธิภาพ แต่ในโลกแห่งความเป็นจริง ข้อมูลไม่มีโครงสร้าง และส่วนใหญ่แล้วจะไม่อยู่ในระดับเดียวกัน
นี่คือเวลาที่การทำให้เป็นมาตรฐานปรากฏในภาพ เป็นกระบวนการเตรียมข้อมูลที่สำคัญที่สุดอย่างหนึ่ง
ช่วยในการเปลี่ยนค่าของคอลัมน์ของชุดข้อมูลอินพุตให้อยู่ในระดับเดียวกัน
ในระหว่างกระบวนการทำให้เป็นมาตรฐาน มั่นใจได้ว่าช่วงของค่าจะไม่บิดเบี้ยว
หมายเหตุ − ชุดข้อมูลอินพุตบางชุดที่ป้อนให้กับอัลกอริธึมแมชชีนเลิร์นนิงไม่จำเป็นต้องถูกทำให้เป็นมาตรฐาน การทำให้เป็นมาตรฐานจำเป็นเฉพาะเมื่อฟีเจอร์ในชุดข้อมูลมีค่าสเกลต่างกันโดยสิ้นเชิง
การทำให้เป็นมาตรฐานมีหลายประเภท -
- การทำให้เป็นมาตรฐานต่ำสุด-สูงสุด
- Z การทำให้เป็นมาตรฐาน
- การปรับเวกเตอร์หน่วย
ให้เราเข้าใจว่า L1 ทำงานอย่างไร
หรือที่เรียกว่าค่าเบี่ยงเบนสัมบูรณ์น้อยที่สุด โดยจะเปลี่ยนข้อมูลเพื่อให้ผลรวมของค่าสัมบูรณ์ยังคงเป็น 1 ในทุกแถว
ให้เราดูว่า L1 Normalization สามารถนำมาใช้โดยใช้ 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_normalized_l1 = preprocessing.normalize(input_data, norm='l1') print("\nL1 normalized data is \n", data_normalized_l1)
ผลลัพธ์
L1 normalized data is [[ 0.26312604 0.24133757 -0.49553639] [-0.16105417 0.0239141 -0.81503172] [ 0.00372856 -0.65607755 0.34019389] [ 0.09204368 0.03712949 -0.87082683]]
คำอธิบาย
-
แพ็คเกจที่จำเป็นจะถูกนำเข้า
-
ข้อมูลอินพุตถูกสร้างขึ้นโดยใช้ไลบรารี Numpy
-
ฟังก์ชัน 'normalize' ที่มีอยู่ในคลาส 'preprocessing' ใช้เพื่อปรับข้อมูลให้เป็นมาตรฐาน
-
ประเภทของการทำให้เป็นมาตรฐานถูกระบุเป็น 'l1'
-
ด้วยวิธีนี้ ข้อมูลใดๆ ในอาร์เรย์จะถูกทำให้เป็นมาตรฐาน และผลรวมของทุกแถวจะเป็น 1 เท่านั้น
-
ข้อมูลที่ทำให้เป็นมาตรฐานนี้จะแสดงบนคอนโซล