Cross validation
Cross validation là một kỹ thuật nhằm kiểm tra hiệu năng holdout của mô hình. Mục tiêu là đảm bảo kết quả kiểm thử không bị ảnh hưởng bởi cách chia dữ liệu cụ thể. Trong bài tập này, bạn sẽ dùng các hàm từ sklearn để chạy K-fold cross validation bằng KFold() nhằm đánh giá precision và recall cho một decision tree.
X_train, y_train, X_test, y_test đã có trong workspace của bạn. pandas là pd, numpy là np, và sklearn cũng đã sẵn sàng. KFold() và cross_val_score() từ sklearn.model_selection cũng đều có sẵn.
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
- Tạo một bộ phân loại decision tree.
- Thiết lập K-Fold cross validation với bốn lần chia và gán vào
k-fold. - Dùng
k_foldđể chạy cross validation vớicross_val_score()nhằm đánh giá precision và recall của mô hình (không dùngrecall_score()hayprecision_score()!).
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 model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))