Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách thực hiện chuẩn hóa L2 (L2 Normalization) bằng scikit-learn trong Python

Chuẩn hóa (Normalization) biến đổi dữ liệu về thang đo chung. L2 Normalization (Euclidean norm).scale từng mẫu (row) sao cho chuẩn Euclidean = 1: ||x||₂ = 1.

Ví dụ với sklearn.preprocessing.normalize


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]
])

normalized_data_l2 = preprocessing.normalize(input_data, norm='l2')
print("L2 normalized data:\n", normalized_data_l2)

Kết quả

[[ 0.4308  0.3951 -0.8113]
 [-0.1938  0.0288 -0.9806]
 [ 0.0050 -0.8877  0.4603]
 [ 0.1050  0.0424 -0.9936]]

Mỗi hàng: tổng bình phương = 1.

Giải thích

  • norm='l2': chuẩn hóa L2 (mặc định).
  • norm='l1': chuẩn hóa L1 (tổng giá trị tuyệt đối = 1).
  • norm='max': chia cho giá trị tuyệt đối lớn nhất.
  • Áp dụng theo hàng (axis=1 mặc định). Dùng axis=0 cho cột.

Khi nào dùng L2?

  • Vector hóa văn bản (TF-IDF → L2 norm cho cosine similarity).
  • Đầu vào mạng nơ-ron (stabilize gradient).
  • Khoảng cách cosine.