Cross-validation cho mô hình thời lượng chuyến bay đơn giản
Bạn đã xây dựng vài mô hình dự đoán thời lượng chuyến bay và đánh giá chúng bằng cách chia train/test đơn giản. Tuy nhiên, cross-validation cung cấp cách đánh giá hiệu năng mô hình tốt hơn nhiều.
Trong bài này, bạn sẽ huấn luyện một mô hình đơn giản cho thời lượng chuyến bay bằng cross-validation. Thời gian di chuyển thường tương quan mạnh với quãng đường, nên chỉ dùng cột km cũng có thể cho một mô hình khá ổn.
Dữ liệu đã được chia ngẫu nhiên thành flights_train và flights_test.
Các lớp sau đã được import sẵn: LinearRegression, RegressionEvaluator, ParamGridBuilder và CrossValidator.
Bài tập này là một phần của khóa học
Machine Learning với PySpark
Hướng dẫn bài tập
- Tạo một lưới tham số rỗng.
- Tạo các đối tượng để xây dựng và đánh giá mô hình hồi quy tuyến tính. Mô hình phải dự đoán trường "duration".
- Tạo một đối tượng cross-validator. Cung cấp giá trị cho các đối số
estimator,estimatorParamMapsvàevaluator. Chọn cross-validation 5-fold. - Huấn luyện và kiểm tra mô hình qua nhiều fold của dữ liệu huấn luyện.
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 an empty parameter grid
params = ____().____()
# Create objects for building and evaluating a regression model
regression = ____(____)
evaluator = ____(____)
# Create a cross validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)
# Train and test model on multiple folds of the training data
cv = cv.____(____)
# NOTE: Since cross-valdiation builds multiple models, the fit() method can take a little while to complete.