Кастомна модель scikit-learn
У цій вправі ви створите власну (кастомну) модель, використовуючи флейвор pyfunc з MLflow. Для набору даних insurance_charges мітки потрібно змінити: female → 0 і male → 1 для класифікації під час навчання. Під час використання моделі, замість 0 або 1 мають повертатися рядки female або male.
Кастомна модель — це класифікаційна модель на основі LogisticRegression, яка використовує клас CustomPredict. CustomPredict додає додатковий крок у методі predict, що повертає мітки 0 та 1 назад у female та male, коли модель отримує вхідні дані. Ви використаєте флейвор pyfunc для логування та завантаження моделі.
Наш набір даних insurance_charges буде попередньо оброблено, а модель навчено за допомогою:
lr_model = LogisticRegression().fit(X_train, y_train)
Модуль MLflow буде імпортовано.
Ця вправа є частиною курсу
Вступ до MLflow
Інструкції до вправи
- Використайте флейвор
pyfuncу MLflow, щоб залогувати кастомну модель. - Встановіть аргумент
python_modelуpyfunc, щоб використовувати кастомний класCustomPredict(). - Завантажте кастомну модель за допомогою
pyfunc.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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")