Tạo đặc trưng mới
Feature engineering cũng bao gồm việc tạo ra các đặc trưng mới. Việc này rất quan trọng vì mô hình dựa vào các đặc trưng đó để đạt độ chính xác dự đoán. Trong bài tập này, bạn sẽ kiểm tra đặc tính của ba cột có kiểu số nguyên trong dữ liệu nhưng thực chất biểu diễn các giá trị phân loại. Ba cột đó là: search_engine_type, product_type và advertiser_type. Bạn sẽ tạo các đặc trưng đếm (count features) cho 3 cột này, cũng như cho device_id và site_id. Các đặc trưng đếm này biểu diễn số lần nhấp (click) cho từng giá trị của các cột tương ứng và sẽ được dùng cho việc dự đoán ở bước sau.
Mô-đun pandas đã được import là pd trong không gian làm việc của bạn và DataFrame mẫu đã được nạp là df.
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
- In tổng số giá trị và số lượng giá trị duy nhất cho mỗi đặc trưng trong danh sách
feature_list. - Tạo các đặc trưng mới từ các đặc trưng trong
new_feature_listbằng cách đếm số lần nhấp cho từng đặc trưng sử dụng.transform().
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 counts of total and unique values for given features
feature_list = ["search_engine_type", "product_type", "advertiser_type"]
for feature in feature_list:
print(df[feature].____)
print(df[feature].____)
# Define new features as counts
new_feature_list = ['device_id', 'site_id'] + feature_list
for new_feature in new_feature_list:
df[new_feature + '_count'] = df.____(
new_feature)['click'].____("count")
print(df.head(5))