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

อธิบายว่า L1 Normalization สามารถใช้งานได้โดยใช้ไลบรารี scikit-learn ใน Python ได้อย่างไร


กระบวนการแปลงช่วงของค่าเป็นช่วงค่ามาตรฐานเรียกว่านอร์มัลไลเซชัน ค่าเหล่านี้อาจอยู่ระหว่าง -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 เท่านั้น

  • ข้อมูลที่ทำให้เป็นมาตรฐานนี้จะแสดงบนคอนโซล