Chuẩn hóa dữ liệu bằng Python

Normalization Data Python



Chuẩn hóa dữ liệu là một kỹ thuật giúp thu được kết quả nhanh hơn do máy phải xử lý một phạm vi dữ liệu nhỏ hơn. Chuẩn hóa không phải là một nhiệm vụ dễ dàng vì tất cả kết quả của bạn phụ thuộc vào sự lựa chọn phương pháp chuẩn hóa của bạn. Vì vậy, nếu bạn đã chọn sai phương pháp để chuẩn hóa dữ liệu của mình, bạn có thể nhận được điều gì đó khác với mong đợi của mình.

Việc chuẩn hóa cũng phụ thuộc vào kiểu dữ liệu như hình ảnh, văn bản, số, v.v. Vì vậy, mỗi kiểu dữ liệu có một phương pháp khác nhau để chuẩn hóa. Vì vậy, trong bài viết này, chúng tôi tập trung vào dữ liệu số.







Phương pháp 1: Sử dụng sklearn

Phương pháp sklearn là một phương pháp rất nổi tiếng để chuẩn hóa dữ liệu.





Trong ô số [83] : Chúng tôi nhập tất cả các thư viện được yêu cầu, NumPy và sklearn. Bạn có thể thấy rằng chúng tôi nhập tiền xử lý từ chính sklearn. Đó là lý do tại sao đây là phương pháp chuẩn hóa sklearn.





Trong ô số [84] : Chúng tôi đã tạo một mảng NumPy với một số giá trị số nguyên không giống nhau.

Trong ô số [85] : Chúng tôi đã gọi phương thức chuẩn hóa từ tiền xử lý và chuyển numpy_array, mà chúng tôi vừa tạo dưới dạng tham số.



Trong ô số [86] : Chúng tôi có thể thấy từ kết quả, tất cả dữ liệu số nguyên của chúng tôi hiện đã được chuẩn hóa từ 0 đến 1.

Phương pháp 2: Chuẩn hóa một cột cụ thể trong tập dữ liệu bằng sklearn

Chúng tôi cũng có thể chuẩn hóa cột tập dữ liệu cụ thể. Trong vấn đề này, chúng ta sẽ thảo luận về điều đó.


Trong ô số [87] : Chúng tôi nhập gấu trúc thư viện và sklearn.

Trong ô số [88] : Chúng tôi đã tạo một tệp CSV giả và hiện chúng tôi đang tải tệp CSV đó với sự trợ giúp của gói pandas (read_csv).

Trong ô số [89] : Chúng tôi in tệp CSV mà chúng tôi đã tải gần đây.

Trong ô số [90] : Chúng tôi đọc cột cụ thể của tệp CSV bằng cách sử dụng np. mảng và lưu trữ kết quả vào value_array.

Trong ô số [92] , chúng tôi đã gọi phương thức chuẩn hóa từ tiền xử lý và truyền tham số value_array.

Phương pháp 3: Chuyển đổi sang chuẩn hóa mà không cần sử dụng các cột thành mảng (sử dụng sklearn)

Trong phương pháp 2 trước đó, chúng ta đã thảo luận về cách chuẩn hóa cột tệp CSV cụ thể. Nhưng đôi khi chúng ta cần chuẩn hóa toàn bộ tập dữ liệu, sau đó chúng ta có thể sử dụng phương pháp dưới đây để chuẩn hóa toàn bộ tập dữ liệu nhưng dọc theo cột (axis = 0). Nếu chúng ta đề cập đến trục = 1, thì nó sẽ thực hiện chuẩn hóa theo hàng. Trục = 1 là giá trị mặc định.


Trong ô số [93] : Chúng tôi nhập gấu trúc thư viện và sklearn.

Trong ô số [94] : Chúng tôi đã tạo một tệp CSV giả (demo_numeric.csv) và hiện chúng tôi đang tải tệp CSV đó với sự trợ giúp của gói pandas (read_csv).

Trong ô số [95] : Chúng tôi in tệp CSV mà chúng tôi đã tải gần đây.

Trong ô số [96] : Bây giờ, chúng tôi chuyển toàn bộ tệp CSV cùng với một trục tham số bổ sung = 0, cho biết thư viện rằng người dùng muốn chuẩn hóa toàn bộ cột tập dữ liệu.

Trong ô số [97] , chúng tôi in kết quả và chuẩn hóa dữ liệu với giá trị từ 0 đến 1.

Phương pháp 4: Sử dụng MinMaxScaler ()

Sklearn cũng cung cấp một phương pháp chuẩn hóa khác mà chúng tôi gọi là MinMaxScalar. Đây cũng là một phương pháp rất phổ biến vì nó dễ sử dụng.


Trong ô số [98] : Chúng tôi nhập tất cả các gói yêu cầu.

Trong ô số [99] : Chúng tôi đã tạo một tệp CSV giả (demo_numeric.csv) và hiện chúng tôi đang tải tệp CSV đó với sự trợ giúp của gói pandas (read_csv).

Trong ô số [100] : Chúng tôi in tệp CSV mà chúng tôi đã tải gần đây.

Trong ô số [101] : Chúng tôi đã gọi MinMaxScalar từ phương thức tiền xử lý và tạo một đối tượng (min_max_Scalar) cho điều đó. Chúng tôi đã không chuyển bất kỳ tham số nào vì chúng tôi cần chuẩn hóa dữ liệu từ 0 đến 1. Nhưng nếu muốn, bạn có thể thêm các giá trị của mình mà sẽ thấy trong phương pháp tiếp theo.

Trong ô số [102] : Đầu tiên chúng ta đọc tất cả tên của các cột để sử dụng thêm để hiển thị kết quả. Sau đó, chúng tôi gọi fit_tranform từ đối tượng đã tạo min_max_Scalar và chuyển tệp CSV vào đó.

Trong ô số [103] : Chúng tôi nhận được kết quả chuẩn hóa nằm trong khoảng từ 0 đến 1.

Phương pháp 5: Sử dụng MinMaxScaler (feature_range = (x, y))

Sklearn cũng cung cấp tùy chọn để thay đổi giá trị chuẩn hóa của những gì bạn muốn. Theo mặc định, chúng chuẩn hóa giá trị từ 0 đến 1. Nhưng có một tham số mà chúng tôi gọi là feature_range, có thể đặt giá trị chuẩn hóa theo yêu cầu của chúng tôi.

Trong ô số [104] : Chúng tôi nhập tất cả các gói yêu cầu.

Trong ô số [105] : Chúng tôi đã tạo một tệp CSV giả (demo_numeric.csv) và hiện chúng tôi đang tải tệp CSV đó với sự trợ giúp của gói pandas (read_csv).

Trong ô số [106] : Chúng tôi in tệp CSV mà chúng tôi đã tải gần đây.

Trong ô số [107] : Chúng tôi đã gọi MinMaxScalar từ phương thức tiền xử lý và tạo một đối tượng (min_max_Scalar) cho điều đó. Nhưng chúng tôi cũng truyền một tham số khác vào bên trong MinMaxScaler (feature_range). Giá trị tham số đó chúng tôi đặt 0 thành 2. Vì vậy, bây giờ, MinMaxScaler sẽ chuẩn hóa các giá trị dữ liệu từ 0 đến 2.

Trong ô số [108] : Đầu tiên chúng ta đọc tất cả tên của các cột để sử dụng thêm để hiển thị kết quả. Sau đó, chúng tôi gọi fit_tranform từ đối tượng đã tạo min_max_Scalar và chuyển tệp CSV vào đó.

Trong ô số [109] : Chúng tôi nhận được kết quả chuẩn hóa nằm trong khoảng từ 0 đến 2.

Phương pháp 6: Sử dụng tỷ lệ tuyệt đối tối đa

Chúng tôi cũng có thể chuẩn hóa dữ liệu bằng cách sử dụng gấu trúc. Các tính năng này cũng rất phổ biến trong việc chuẩn hóa dữ liệu. Tỷ lệ tuyệt đối tối đa chuẩn hóa các giá trị từ 0 đến 1. Chúng tôi đang áp dụng ở đây .max () và .abs () như được hiển thị bên dưới:

Trong ô số [110] : Chúng tôi nhập thư viện của gấu trúc.

Trong ô số [111] : Chúng tôi đã tạo một khung dữ liệu giả và in khung dữ liệu đó.

Trong ô số [113] : Chúng tôi gọi từng cột và sau đó chia các giá trị cột với .max () và .abs ().

Trong ô số [114] : Chúng tôi in kết quả và từ kết quả đó, chúng tôi xác nhận rằng dữ liệu của chúng tôi chuẩn hóa giữa 0 và 1.

Phương pháp 7: Sử dụng phương pháp điểm số z

Phương pháp tiếp theo mà chúng ta sẽ thảo luận là phương pháp điểm số z. Phương pháp này chuyển đổi thông tin thành phân phối. Phương pháp này tính toán giá trị trung bình của mỗi cột và sau đó trừ cho mỗi cột và cuối cùng, chia nó với độ lệch chuẩn. Điều này chuẩn hóa dữ liệu từ -1 đến 1.

Trong ô số [115] : Chúng tôi đã tạo một khung dữ liệu giả và in khung dữ liệu đó.

Trong ô số [117] : Chúng tôi tính toán giá trị trung bình của cột và trừ nó khỏi cột. Sau đó, chúng tôi chia giá trị cột với độ lệch chuẩn.

Trong ô số [118] : Chúng tôi in dữ liệu chuẩn hóa từ -1 đến 1.

Kết luận: Chúng tôi đã thấy các loại phương pháp chuẩn hóa khác nhau. Trong số đó, sklearn rất nổi tiếng vì hỗ trợ machine learning. Nhưng điều đó phụ thuộc vào yêu cầu của người dùng. Đôi khi, tính năng gấu trúc để chuẩn hóa dữ liệu là đủ. Chúng tôi không thể nói rằng chỉ có các phương pháp chuẩn hóa ở trên. Có rất nhiều phương pháp để thực hiện chuẩn hóa dữ liệu cũng phụ thuộc vào kiểu dữ liệu của bạn như hình ảnh, số, văn bản, v.v. Chúng tôi tập trung vào dữ liệu số này và Python.