Bắt đầu ngayBắt đầu miễn phí

K-fold cross-validation

Bạn sẽ bắt đầu với trải nghiệm thực hành về phương pháp K-fold cross-validation được dùng phổ biến nhất.

Bộ dữ liệu bạn sẽ dùng đến từ cuộc thi Kaggle "Two sigma connect: rental listing inquiries". Bài toán của cuộc thi là phân loại đa lớp các tin đăng cho thuê vào 3 nhóm: mức độ quan tâm thấp, trung bình và cao. Để chạy nhanh hơn, bạn sẽ làm việc với một mẫu con gồm 1.000 quan sát.

Bạn cần triển khai chiến lược xác thực K-fold và xem kích thước của từng fold thu được. DataFrame train đã có sẵn trong không gian 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

Xem khóa học

Hướng dẫn bài tập

  • Tạo một đối tượng KFold với 3 fold.
  • Lặp qua từng lượt chia bằng đối tượng kf.
  • Với mỗi lượt, chọn các fold huấn luyện và kiểm tra bằng train_indextest_index.

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.

# Import KFold
from sklearn.model_selection import KFold

# Create a KFold object
kf = ____(n_splits=____, shuffle=True, random_state=123)

# Loop through each split
fold = 0
for train_index, test_index in ____.____(train):
    # Obtain training and testing folds
    cv_train, cv_test = train.iloc[____], train.iloc[____]
    print('Fold: {}'.format(fold))
    print('CV train shape: {}'.format(cv_train.shape))
    print('Medium interest listings in CV train: {}\n'.format(sum(cv_train.interest_level == 'medium')))
    fold += 1
Chỉnh sửa và Chạy Mã