开始使用免费开始使用

自定义 scikit-learn 模型

在本练习中,您将使用 MLflow 的 pyfunc 风格来创建一个自定义模型。基于 insurance_charges 数据集,在训练用于分类时,需要将标签从 female 改为 0,将 male 改为 1。而在使用模型进行预测时,需要将输出的 01 转换回字符串 femalemale

该自定义模型是基于 LogisticRegression 的分类模型,并将使用名为 CustomPredict 的类。CustomPredictpredict 方法中增加了一个步骤:当模型接收输入并输出预测后,把标签 01 还原为 femalemale。您将使用 pyfunc 风格来记录和加载模型。

我们的 insurance_charges 数据集会先进行预处理,模型将通过以下代码进行训练:

lr_model = LogisticRegression().fit(X_train, y_train)

已导入 MLflow 模块。

本练习是课程的一部分

MLflow 入门

查看课程

练习说明

  • 使用 MLflow 的 pyfunc 风格记录自定义模型。
  • pyfuncpython_model 参数设置为使用自定义类 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")
编辑并运行代码