시작하기무료로 시작하기

사용자 정의 scikit-learn 모델

이 연습 문제에서는 MLflow의 pyfunc flavor를 사용하여 사용자 정의 모델을 만들어 볼 거예요. insurance_charges 데이터셋을 사용할 때, 학습 중 분류를 위해 레이블을 female0, male1로 바꿔야 해요. 하지만 모델을 사용할 때는 0이나 1 대신 female 또는 male 문자열을 반환해야 합니다.

사용자 정의 모델은 LogisticRegression을 기반으로 한 Classification 모델이며, CustomPredict라는 클래스를 사용해요. CustomPredictpredict 메서드에 추가 단계를 넣어, 모델이 입력을 받으면 예측 레이블 01을 각각 femalemale로 되돌려 주도록 합니다. 모델 기록과 로딩에는 pyfunc flavor를 사용할 거예요.

insurance_charges 데이터셋은 전처리되며, 모델은 다음과 같이 학습됩니다:

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

MLflow 모듈은 임포트되어 있어요.

이 연습은 강의의 일부입니다

MLflow 소개

강의 보기

연습 안내

  • MLflow의 pyfunc flavor를 사용해 사용자 정의 모델을 기록하세요.
  • 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")
코드 편집 및 실행