Chuẩn hóa chuẩn (Standard scaling)
Chuẩn hóa chuẩn sẽ biến đổi các đặc trưng số sao cho có trung bình bằng 0 và phương sai bằng 1. Trong bài tập này, bạn sẽ thực hiện chuẩn hóa chuẩn bằng StandardScaler() từ sklearn. Trước hết, bạn sẽ chỉ chọn các cột phù hợp để áp dụng chuẩn hóa, bằng cách kết hợp lọc các cột số với một chút hiểu biết về các cột. Việc lọc này đã được cung cấp sẵn và sẽ được thực hiện thông qua biểu thức chính quy, cho phép khớp một phần chuỗi. Sau đó, bạn sẽ dùng fit_transform() để biến đổi các cột liên quan.
Mô-đun pandas đã có sẵn với tên pd trong không gian làm việc của bạn và DataFrame mẫu đã được nạp với tên df. Ngoài ra, cột hour đã được chuyển sang kiểu datetime, và StandardScaler từ sklearn.preprocessing cũng đã sẵn sàng.
Bài tập này là một phần của khóa học
Dự đoán CTR với Machine Learning trong Python
Hướng dẫn bài tập
- Chọn các cột kiểu số và lọc
filter_colsđã cho bằng.select_dtypes(). - Áp dụng chuẩn hóa chuẩn cho các cột liên quan bằng cách tạo một
StandardScaler()rồi dùng.fit_transform(). - In phương sai của các cột vừa được biến đổi bằng
.var().
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Get non-categorical columns, with a filter
num_df = df.____(include=['int', 'float'])
filter_cols = ['click', 'banner_pos', 'device_type',
'search_engine_type', 'product_type', 'advertiser_type']
new_df = num_df[num_df.columns[~num_df.columns.____(filter_cols)]]
num_cols = new_df.____
# Transform columns using StandardScaler
scaler = ____()
df[num_cols] = scaler.____(df[____])
# Print mean and variance of transformed columns
print(df[num_cols].mean())
print(df[num_cols].____)