Tối ưu hóa SMS spam
Pipeline bạn đã xây dựng trước đó cho mô hình SMS spam dùng các tham số mặc định cho mọi thành phần. Tuy nhiên, rất khó để các tham số này cho ra một mô hình thật sự tốt. Trong bài này, bạn sẽ chạy pipeline với một tập các giá trị tham số khác nhau. Ta sẽ làm điều này một cách có hệ thống: các giá trị cho từng siêu tham số (hyperparameter) sẽ được sắp trên một lưới, rồi pipeline sẽ lần lượt chạy qua từng điểm trên lưới đó.
Trong bài này, bạn sẽ thiết lập một lưới tham số để dùng với cross-validation nhằm chọn ra bộ tham số tốt cho bộ phân loại SMS spam.
Các đối tượng sau đã được định nghĩa sẵn:
hasher— một đối tượngHashingTFvàlogistic— một đối tượngLogisticRegression.
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 đối tượng dựng lưới tham số (parameter grid builder).
- Thêm các điểm lưới cho tham số
numFeaturesvàbinarycủa đối tượngHashingTF, với các giá trị lần lượt là 1024, 4096 và 16384, và True và False. - Thêm các điểm lưới cho tham số
regParamvàelasticNetParamcủa đối tượngLogisticRegression, với các giá trị lần lượt là 0.01, 0.1, 1.0 và 10.0, và 0.0, 0.5, và 1.0. - Xây dựng lưới tham số.
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 grid for hashing trick parameters
params = params.____(____, ____) \
.____(____, ____)
# Add grid for logistic regression parameters
params = params.____(____, ____) \
.____(____, ____)
# Build parameter grid
params = ____.____()