НачатьНачать бесплатно

Пользовательская модель scikit-learn

В этом упражнении вы создадите пользовательскую модель с помощью флейвора pyfunc из MLflow. При работе с набором данных insurance_charges метки необходимо преобразовать: female0, male1 — для классификации во время обучения. При использовании модели вместо 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")
Редактировать и запускать код