Cross-validation không xáo trộn
Bây giờ, hãy chạy lại quá trình fit mô hình bằng block cross-validation (không xáo trộn toàn bộ điểm dữ liệu). Trong trường hợp này, các điểm thời gian liền kề sẽ được giữ gần nhau. Bạn nghĩ dự đoán của mô hình sẽ trông như thế nào trong mỗi vòng cross-validation?
Một instance của đối tượng Linear regression model đã có sẵn trong workspace của bạn. Các mảng X và y (dữ liệu huấn luyện) cũng đã sẵn sàng.
Bài tập này là một phần của khóa học
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python
Hướng dẫn bài tập
- Khởi tạo một đối tượng cross-validation khác, lần này dùng KFold cross-validation với 10 lần chia (splits) và không xáo trộn.
- Lặp qua đối tượng này để fit mô hình bằng các chỉ số huấn luyện và tạo dự đoán bằng các chỉ số kiểm tra.
- Trực quan hóa các dự đoán qua các lần chia CV bằng hàm hỗ trợ (
visualize_predictions()) mà chúng tôi đã cung cấp.
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 KFold cross-validation object
from sklearn.model_selection import KFold
cv = ____(n_splits=____, shuffle=____)
# Iterate through CV splits
results = []
for tr, tt in cv.split(X, y):
# Fit the model on training data
model.fit(____)
# Generate predictions on the test data and collect
prediction = model.predict(____)
results.append((prediction, tt))
# Custom function to quickly visualize predictions
visualize_predictions(results)