Vượt ra ngoài phân loại nhị phân
Tất nhiên, phân loại nhị phân chỉ là một trường hợp đặc biệt. Target encoding có thể áp dụng cho bất kỳ kiểu biến đích nào:
- Với phân loại nhị phân, thường dùng mean target encoding
- Với hồi quy, có thể thay mean bằng median, các tứ phân vị, v.v.
- Với phân loại đa lớp, với N lớp ta tạo N đặc trưng mang giá trị trung bình mục tiêu cho từng hạng mục theo kiểu one-vs-all
Hàm mean_target_encoding() bạn đã tạo có thể dùng cho mọi kiểu biến đích như trên. Hãy áp dụng nó cho bài toán hồi quy với ví dụ từ cuộc thi House Prices trên Kaggle.
Mục tiêu của bạn là mã hóa đặc trưng phân loại "RoofStyle" bằng mean target encoding. Các DataFrame train và test đã có sẵn trong môi trường làm việc của bạn.
Bài tập này là một phần của khóa học
Chinh phục cuộc thi Kaggle bằng Python
Hướng dẫn bài tập
- Chỉ định tất cả các tham số còn thiếu khi gọi hàm
mean_target_encoding(). Tên biến đích là"SalePrice". Đặt siêu tham số \(\alpha\) bằng 10. - Nhớ rằng các tham số
trainvàtestmong đợi các DataFrame train và test. - Trong khi đó, các tham số
targetvàcategoricalmong đợi tên của biến đích và đặc trưng cần mã hóa.
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.
# Create mean target encoded feature
train['RoofStyle_enc'], test['RoofStyle_enc'] = mean_target_encoding(train=train,
test=____,
target='____',
categorical='____',
alpha=____)
# Look at the encoding
print(test[['RoofStyle', 'RoofStyle_enc']].drop_duplicates())