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

วิธีทำ L1 Normalization ด้วย scikit-learn ใน Python

Normalization = แปลงช่วงค่าให้มาตรฐาน ข้อมูล input ต้อง consistent และ structured ทุก feature ต้องอยู่ scale เดียวกัน ข้อมูลจริงมัก unstructured ไม่ใช่ scale เดียวกัน จึงต้อง normalize

L1 Normalization = Least Absolute Deviations ทำให้ sum of absolute values = 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_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]]

คำอธิบาย

  • นำเข้าแพ็กเกจ
  • สร้างข้อมูล input ด้วย NumPy
  • ใช้ 'normalize' ใน 'preprocessing' norm='l1' ทำให้ sum of absolute values = 1 ต่อแถว
  • แสดงข้อมูลที่ normalized

L1 norm: ||x||₁ = Σ|xᵢ| normalization: x' = x / ||x||₁