Biến đổi đặc trưng
Bạn đang thảo luận về tập dữ liệu tín dụng với quản lý ngân hàng. Chị ấy gợi ý rằng các hồ sơ vay an toàn nhất thường yêu cầu khoản tín dụng ở mức trung bình. Các giá trị quá thấp hoặc quá cao đều gợi ý rủi ro cao. Điều này có nghĩa là có thể tồn tại một mối quan hệ phi tuyến giữa biến này và nhãn. Bạn muốn kiểm chứng giả thuyết này. Bạn sẽ tạo một phép biến đổi phi tuyến cho đặc trưng đó. Sau đó, bạn sẽ đánh giá đặc trưng nào trong hai đặc trưng dự đoán nhãn tốt hơn bằng cách dùng SelectKBest() và độ đo chi2(), cả hai đã được nạp sẵn.
Dữ liệu có trong một pandas DataFrame tên credit, với nhãn nằm trong cột class. Bạn cũng đã nạp sẵn pandas dưới tên pd và numpy dưới tên np.
Bài tập này là một phần của khóa học
Thiết kế quy trình Machine Learning bằng Python
Hướng dẫn bài tập
- Định nghĩa một hàm biến đổi một vector số bằng cách lấy độ lệch tuyệt đối của từng giá trị so với giá trị trung bình của vector.
- Áp dụng phép biến đổi này cho cột
credit_amountcủa tập dữ liệu và lưu vào cột mới têndiff. - Tạo bộ chọn đặc trưng
SelectKBest()để chọn một trong hai cột,credit_amountvàdiff, sử dụng độ đochi2(). - Kiểm tra kết quả.
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.
# Function computing absolute difference from column mean
def abs_diff(x):
return ____(x-____)
# Apply it to the credit amount and store to new column
credit['diff'] = ____
# Create a feature selector with chi2 that picks one feature
sk = ____(chi2, ____)
# Use the selector to pick between credit_amount and diff
sk.fit(____, credit['class'])
# Inspect the results
sk.____()