Tối ưu hồi quy tuyến tính cho flights
Cho đến giờ bạn vẫn dùng các siêu tham số mặc định khi xây dựng mô hình. Trong bài này, bạn sẽ dùng cross-validation để chọn một bộ siêu tham số tối ưu (hoặc gần tối ưu) cho mô hình.
Những đối tượng sau đã được tạo sẵn:
regression— một đối tượngLinearRegressionpipeline— một pipeline gồm string indexer, one-hot encoder, vector assembler và linear regression vàevaluator— một đối tượngRegressionEvaluator.
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 trình dựng lưới tham số (parameter grid builder).
- Thêm các lưới cho
regression.regParam(các giá trị 0.01, 0.1, 1.0 và 10.0) vàregression.elasticNetParam(các giá trị 0.0, 0.5 và 1.0). - Xây dựng lưới.
- Tạo một cross-validator, chỉ định năm fold.
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 parameter grid
params = ____()
# Add grids for two parameters
params = params.____(____, ____) \
.____(____, ____)
# Build the parameter grid
params = params.____()
print('Number of models to be tested: ', len(params))
# Create cross-validator
cv = ____(estimator=____, estimatorParamMaps=____, evaluator=____, ____)