앱에서 Snowflake ML 모델 생성, 학습 및 사용하기¶
이 항목에서는 scikit-learn Python 패키지를 사용하여 Snowflake Native App 내에서 Snowflake ML 모델을 학습시키는 방법에 대한 예제를 제공합니다. 이 항목의 예는 컨슈머 또는 공급자 계정의 데이터에 대한 모델을 학습시키는 데 사용할 수 있습니다.
저장 프로시저를 보관할 버전 스키마 만들기¶
설정 스크립트 내에서 다음 예제와 같이 저장 프로시저를 포함하는 버전이 지정된 스키마를 만듭니다.
저장 프로시저에 대한 버전 스키마 만들기
모델을 만들고 학습시키는 저장 프로시저 만들기¶
다음 예제와 같이 모델을 학습시키는 데 사용할 Python 함수에 대한 저장 프로시저를 만듭니다.
이 예에서는
py_log_model이라는 저장 프로시저를 생성하고scikit-learn을 사용하여 모델을 학습시키는 데 필요한 Python 패키지를 선언합니다.
snowflake-snowpark-python
scikit-learn
snowflake-ml-python
pandas
numpy
xgboost
저장 프로시저를 만든 후 저장 프로시저의 본문에 다음 코드를 추가합니다.
저장 프로시저의 본문에 Python 코드를 추가합니다.
log_model함수는 다음을 수행합니다.
pandas및numpy를 사용하여 DataFrame 을 생성하여 모델에 대한 학습 데이터를 제공합니다.데이터의 학습 알고리즘으로 사용할 XGBoost 인스턴스를 생성합니다.
XGBoost 의
fit()함수를 호출하여 모델을 생성하고 데이터 세트에 대해 학습시킵니다.Snowflake Model Registry의
log_model()함수를 호출하여 Model Registry에 모델을 추가합니다.참고
앱에서 만든 모델은 Model Registry에 저장해야 합니다. 앱은 스테이지에 저장된 모델에 액세스할 수 없습니다.
선택 사항: 컨슈머가 저장 프로시저를 실행하여 모델을 학습시킬 수 있도록 하려면 저장 프로시저에 USAGE 권한을 부여하십시오.
모델을 실행하는 저장 프로시저 만들기¶
모델을 호출하는 데 사용하는 Python 함수에 대한 저장 프로시저를 만듭니다.
모델을 호출하는 데 사용하는 Python 코드를 추가합니다.
run_model함수는 다음을 수행합니다.
load_iris()함수를 실행하여 홍채 머신 러닝 데이터 세트를 로딩합니다.
pandas를 사용하여 홍채 데이터 세트를 기반으로 DataFrame 을 생성합니다.
get_model()함수를 실행하여 Model Registry를 가져옵니다.모델에서 예측 함수를 실행합니다.
결과를 반환합니다.
선택 사항: 컨슈머가 저장 프로시저를 실행하여 모델을 학습시킬 수 있도록 하려면 저장 프로시저에 USAGE 권한을 부여하십시오.
저장 프로시저 실행하기¶
앱에서 이러한 저장 프로시저에 대한 USAGE 권한을 애플리케이션 역할에 부여하면, 컨슈머는 다음 예시와 같이 저장 프로시저를 호출하여 모델을 학습시키고 실행할 수 있습니다.
이 명령은 py_log_model 저장 프로시저를 호출하여 모델을 학습시킵니다.
이 명령은 py_call_predict 저장 프로시저를 호출하여 모델에서 예측 함수를 호출합니다.