Vlastní scikit-learn model
V tomto cvičení vytvoříš vlastní model pomocí flavoru pyfunc z MLflow. Při práci s datasetem insurance_charges je potřeba před trénováním změnit štítky: female na 0 a male na 1. Při použití modelu se pak místo hodnot 0 a 1 vrátí zpět řetězce female a male.
Vlastní model je klasifikační model založený na LogisticRegression a využívá třídu CustomPredict. Třída CustomPredict přidává do metody predict další krok, který převede štítky 0 a 1 zpět na female a male v okamžiku, kdy model obdrží vstupní data. Pro logování a načítání modelu budeš používat flavor pyfunc.
Dataset insurance_charges bude předzpracován a model natrénován pomocí:
lr_model = LogisticRegression().fit(X_train, y_train)
Modul MLflow bude naimportován.
Toto cvičení je součástí kurzu
Úvod do MLflow
Pokyny k cvičení
- Použij flavor
pyfuncz MLflow k zalogování vlastního modelu. - Nastav argument
python_modelflavorupyfuncna vlastní tříduCustomPredict(). - Načti vlastní model pomocí
pyfunc.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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")