Computer >> Máy Tính >  >> Lập trình >> Python

Giải thích cách Chuẩn hóa L1 có thể được triển khai bằng cách sử dụng thư viện scikit-learning trong Python?

Quá trình chuyển đổi một phạm vi giá trị thành phạm vi giá trị tiêu chuẩn hóa được gọi là chuẩn hóa. Các giá trị này có thể nằm trong khoảng từ -1 đến +1 hoặc 0 đến 1. Dữ liệu cũng có thể được chuẩn hóa với sự trợ giúp của phép trừ và phép chia.

Dữ liệu được cung cấp cho thuật toán học tập dưới dạng đầu vào phải duy trì nhất quán và có cấu trúc. Tất cả các đặc điểm của dữ liệu đầu vào nên nằm trên một thang đo duy nhất để dự đoán các giá trị một cách hiệu quả. Nhưng trong thế giới thực, dữ liệu là không có cấu trúc và hầu hết các trường hợp, không phải trên cùng một quy mô.

Đây là khi quá trình chuẩn hóa đi vào hình ảnh. Đây là một trong những quá trình chuẩn bị dữ liệu quan trọng nhất.

Nó giúp thay đổi các giá trị của các cột trong tập dữ liệu đầu vào theo cùng một tỷ lệ.

Trong quá trình chuẩn hóa, phạm vi giá trị được đảm bảo không bị bóp méo.

Lưu ý - Không phải tất cả các tập dữ liệu đầu vào được cung cấp cho các thuật toán học máy đều phải được chuẩn hóa. Chuẩn hóa chỉ được yêu cầu khi các tính năng trong tập dữ liệu có thang giá trị hoàn toàn khác nhau.

Có nhiều loại chuẩn hóa khác nhau -

  • Chuẩn hóa tối thiểu-tối đa
  • Chuẩn hóa Z
  • Chuẩn hóa đơn vị vectơ

Hãy cho chúng tôi hiểu cách hoạt động của chuẩn hóa L1.

Còn được gọi là Sai lệch tuyệt đối ít nhất, nó thay đổi dữ liệu sao cho tổng các giá trị tuyệt đối vẫn là 1 trong mọi hàng.

Hãy để chúng tôi xem cách Chuẩn hóa L1 có thể được triển khai bằng cách sử dụng scikit learning trong Python -

Ví dụ

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)

Đầu ra

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

Giải thích

  • Các gói bắt buộc được nhập.

  • Dữ liệu đầu vào được tạo bằng thư viện Numpy.

  • Hàm 'normalize' có trong lớp "preprocessing" được sử dụng để chuẩn hóa dữ liệu.

  • Loại chuẩn hóa được chỉ định là 'l1'.

  • Bằng cách này, mọi dữ liệu trong mảng sẽ được chuẩn hóa và tổng của mọi hàng sẽ chỉ là 1.

  • Dữ liệu chuẩn hóa này được hiển thị trên bảng điều khiển.