Mổ xẻ mô hình dự đoán thời lượng chuyến bay tốt nhất
Bạn vừa thiết lập một CrossValidator để tìm các tham số tốt cho mô hình hồi quy tuyến tính dự đoán thời lượng chuyến bay.
Pipeline mô hình có nhiều giai đoạn (các đối tượng kiểu StringIndexer, OneHotEncoder, VectorAssembler và LinearRegression) hoạt động tuần tự. Các giai đoạn này có sẵn dưới thuộc tính stages trên đối tượng pipeline. Chúng được biểu diễn dưới dạng một danh sách và sẽ được thực thi theo đúng thứ tự xuất hiện trong danh sách.
Bây giờ bạn sẽ xem kỹ hơn pipeline, tách các giai đoạn và dùng nó để tạo dự đoán trên dữ liệu kiểm tra.
Các đối tượng sau đã được tạo sẵn:
cv— một đối tượngCrossValidatorModelđã được huấn luyện vàevaluator— một đối tượngRegressionEvaluator.
Dữ liệu chuyến bay đã được chia ngẫu nhiên thành flights_train và flights_test.
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
- Lấy mô hình tốt nhất.
- Xem các giai đoạn trong mô hình tốt nhất.
- Tách riêng giai đoạn hồi quy tuyến tính và trích xuất các tham số của nó.
- Dùng mô hình tốt nhất để tạo dự đoán trên dữ liệu kiểm tra và tính RMSE.
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.
# Get the best model from cross validation
best_model = cv.____
# Look at the stages in the best model
print(best_model.____)
# Get the parameters for the LinearRegression object in the best model
best_model.____.extractParamMap()
# Generate predictions on testing data using the best model then calculate RMSE
predictions = ____.____(____)
print("RMSE =", ____.____(____))