Leave-one-out-cross-validation
Giả sử loại kẹo bạn thích không có trong bộ dữ liệu candy, và bạn muốn biết mức độ phổ biến của nó. Dùng cross-validation 5-fold sẽ chỉ huấn luyện trên 80% dữ liệu mỗi lần. Tuy nhiên, bộ dữ liệu candy chỉ có 85 hàng, và bỏ ra 20% dữ liệu có thể làm giảm chất lượng mô hình. Với leave-one-out-cross-validation, bạn có thể tận dụng tối đa bộ dữ liệu hạn chế và có được ước lượng tốt nhất về độ phổ biến của loại kẹo yêu thích!
Trong bài tập này, bạn sẽ dùng cross_val_score() để thực hiện LOOCV.
Bài tập này là một phần của khóa học
Xác thực Mô hình trong Python
Hướng dẫn bài tập
- Tạo một scorer dùng
mean_absolute_errorđểcross_val_score()sử dụng. - Hoàn thiện lời gọi
cross_val_score()để dùng mô hìnhrfr,mae_scorervừa định nghĩa, và LOOCV. - In trung bình và độ lệch chuẩn của
scoresbằngnumpy(đã nạp lànp).
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.
from sklearn.metrics import mean_absolute_error, make_scorer
# Create scorer
mae_scorer = ____(____)
rfr = RandomForestRegressor(n_estimators=15, random_state=1111)
# Implement LOOCV
scores = cross_val_score(____, X=X, y=y, cv=____, scoring=____)
# Print the mean and standard deviation
print("The mean of the errors is: %s." % np.____(____))
print("The standard deviation of the errors is: %s." % np.____(____))