Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về cách bình thường hóa dữ liệu trong Python. Trong khi bình thường hóa chúng tôi thay đổi thang đo của dữ liệu. Dữ liệu thường được định dạng lại để rơi vào khoảng 0-1.
Tại sao chúng ta cần bình thường hóa dữ liệu trong Python?
Các thuật toán học máy có xu hướng thực hiện tốt hơn hoặc hội tụ nhanh hơn khi các tính năng khác nhau [biến] ở quy mô nhỏ hơn. Do đó, thông thường là bình thường hóa dữ liệu trước khi đào tạo các mô hình học máy trên đó.
Chuẩn hóa cũng làm cho quá trình đào tạo ít nhạy cảm hơn với quy mô của các tính năng. Điều này dẫn đến việc có được hệ số tốt hơn sau khi đào tạo.
Quá trình làm cho các tính năng phù hợp hơn để đào tạo bằng cách tái định cư được gọi là tỷ lệ tính năng.feature scaling.
Công thức chuẩn hóa được đưa ra dưới đây:
Chúng tôi trừ đi giá trị tối thiểu từ mỗi mục và sau đó chia kết quả cho phạm vi. Trong đó phạm vi là sự khác biệt giữa giá trị tối đa và giá trị tối thiểu.
Các bước để bình thường hóa dữ liệu trong Python
Chúng tôi sẽ thảo luận về hai cách khác nhau để bình thường hóa dữ liệu trong Python.
Cái đầu tiên là bằng cách sử dụng phương thức ‘bình thường hóa [] theo Sklearn.sklearn.
Sử dụng bình thường hóa [] từ sklearn
Hãy bắt đầu bằng cách nhập xử lý từ Sklearn.
from sklearn import preprocessing
Bây giờ, hãy để tạo ra một mảng bằng cách sử dụng Numpy.
import numpy as np
x_array = np.array[[2,3,5,6,7,4,8,7,6]]
Bây giờ chúng ta có thể sử dụng phương thức Normalize [] trên mảng. Phương pháp này bình thường hóa dữ liệu dọc theo một hàng. Hãy cùng xem phương pháp hoạt động.
normalized_arr = preprocessing.normalize[[x_array]]
print[normalized_arr]
Hoàn thành mã
Tại đây, mã hoàn chỉnh từ phần này:
from sklearn import preprocessing
import numpy as np
x_array = np.array[[2,3,5,6,7,4,8,7,6]]
normalized_arr = preprocessing.normalize[[x_array]]
print[normalized_arr]
Đầu ra:
[0.11785113, 0.1767767 , 0.29462783, 0.35355339, 0.41247896,
0.23570226, 0.47140452, 0.41247896, 0.35355339]
Chúng ta có thể thấy rằng tất cả các giá trị bây giờ nằm giữa phạm vi 0 đến 1. Đây là cách phương thức bình thường hóa [] theo sklearn hoạt động.
Bạn cũng có thể bình thường hóa các cột trong bộ dữ liệu bằng phương pháp này. Hãy cùng xem cách làm điều đó tiếp theo.
Bình thường hóa các cột trong bộ dữ liệu bằng cách sử dụng bình thường []
Vì bình thường hóa [] chỉ bình thường hóa các giá trị dọc theo các hàng, chúng ta cần chuyển đổi cột thành một mảng trước khi chúng ta áp dụng phương thức.
Để chứng minh chúng tôi sẽ sử dụng bộ dữ liệu nhà ở & nbsp; California.
Hãy bắt đầu bằng cách nhập bộ dữ liệu.
import pandas as pd
housing = pd.read_csv["/content/sample_data/california_housing_train.csv"]
Tiếp theo, chúng ta cần chọn một cột và chuyển đổi nó thành một mảng. Chúng tôi sẽ sử dụng cột 'Total_bedroom.
from sklearn import preprocessing
x_array = np.array[housing['total_bedrooms']]
normalized_arr = preprocessing.normalize[[x_array]]
print[normalized_arr]
Đầu ra:
[[0.01437454 0.02129852 0.00194947 ... 0.00594924 0.00618453 0.00336115]]
Chúng ta có thể thấy rằng tất cả các giá trị bây giờ nằm giữa phạm vi 0 đến 1. Đây là cách phương thức bình thường hóa [] theo sklearn hoạt động.
Bạn cũng có thể bình thường hóa các cột trong bộ dữ liệu bằng phương pháp này. Hãy cùng xem cách làm điều đó tiếp theo.
from sklearn import preprocessing
import pandas as pd
housing = pd.read_csv["/content/sample_data/california_housing_train.csv"]
d = preprocessing.normalize[housing]
scaled_df = pd.DataFrame[d, columns=names]
scaled_df.head[]
Đầu ra:
Bạn cũng có thể bình thường hóa các cột trong bộ dữ liệu bằng phương pháp này. Hãy cùng xem cách làm điều đó tiếp theo.
Bình thường hóa các cột trong bộ dữ liệu bằng cách sử dụng bình thường []
Vì bình thường hóa [] chỉ bình thường hóa các giá trị dọc theo các hàng, chúng ta cần chuyển đổi cột thành một mảng trước khi chúng ta áp dụng phương thức.
from sklearn import preprocessing
import pandas as pd
housing = pd.read_csv["/content/sample_data/california_housing_train.csv"]
d = preprocessing.normalize[housing, axis=0]
scaled_df = pd.DataFrame[d, columns=names]
scaled_df.head[]
Đầu ra:
Chúng ta có thể thấy rằng tất cả các giá trị bây giờ nằm giữa phạm vi 0 đến 1. Đây là cách phương thức bình thường hóa [] theo sklearn hoạt động.
Bạn cũng có thể bình thường hóa các cột trong bộ dữ liệu bằng phương pháp này. Hãy cùng xem cách làm điều đó tiếp theo.
Bình thường hóa các cột trong bộ dữ liệu bằng cách sử dụng bình thường []
Vì bình thường hóa [] chỉ bình thường hóa các giá trị dọc theo các hàng, chúng ta cần chuyển đổi cột thành một mảng trước khi chúng ta áp dụng phương thức.
Để chứng minh chúng tôi sẽ sử dụng bộ dữ liệu nhà ở & nbsp; California.
import numpy as np
x_array = np.array[[2,3,5,6,7,4,8,7,6]]
0Đầu ra:
Bạn cũng có thể bình thường hóa các cột trong bộ dữ liệu bằng phương pháp này. Hãy cùng xem cách làm điều đó tiếp theo.[0 and 1].
Bình thường hóa các cột trong bộ dữ liệu bằng cách sử dụng bình thường []
import numpy as np
x_array = np.array[[2,3,5,6,7,4,8,7,6]]
1Đầu ra:
Bạn cũng có thể bình thường hóa các cột trong bộ dữ liệu bằng phương pháp này. Hãy cùng xem cách làm điều đó tiếp theo.
Bình thường hóa các cột trong bộ dữ liệu bằng cách sử dụng bình thường []
Vì bình thường hóa [] chỉ bình thường hóa các giá trị dọc theo các hàng, chúng ta cần chuyển đổi cột thành một mảng trước khi chúng ta áp dụng phương thức.