Mô hình scikit-learn tùy chỉnh
Trong bài tập này, bạn sẽ tạo một mô hình tùy chỉnh bằng flavor pyfunc của MLflow. Với bộ dữ liệu insurance_charges, nhãn cần được đổi từ female thành 0 và male thành 1 để phục vụ phân loại trong quá trình huấn luyện. Khi sử dụng mô hình, chuỗi female hoặc male phải được trả về thay cho 0 hoặc 1.
Mô hình tùy chỉnh là mô hình Classification dựa trên LogisticRegression và sẽ dùng một Class tên CustomPredict. CustomPredict thêm một bước bổ sung trong phương thức predict để chuyển các nhãn 0 và 1 về lại female và male khi mô hình nhận đầu vào. Bạn sẽ dùng flavor pyfunc để ghi log và tải mô hình của mình.
Bộ dữ liệu insurance_charges sẽ được tiền xử lý và mô hình sẽ được huấn luyện bằng:
lr_model = LogisticRegression().fit(X_train, y_train)
Module MLflow sẽ được import.
Bài tập này là một phần của khóa học
Giới thiệu về MLflow
Hướng dẫn bài tập
- Dùng flavor
pyfunccủa MLflow để ghi log mô hình tùy chỉnh. - Đặt đối số
python_modelcủapyfuncđể dùng Class tùy chỉnhCustomPredict(). - Tải mô hình tùy chỉnh bằng
pyfunc.
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.
# Log the pyfunc model
____.____.____(
artifact_path="lr_pyfunc",
# Set model to use CustomPredict Class
python_model=____,
artifacts={"lr_model": "lr_model"}
)
run = mlflow.last_active_run()
run_id = run.info.run_id
# Load the model in python_function format
loaded_model = ____.____.____(f"runs:/{run_id}/lr_pyfunc")