728x90
from pyspark2pmml import PMMLBuilder
pmmlBuilder = PMMLBuilder(spark.sparkContext, train, cvModel)
pmmlBuilder.buildFile("Titanic.pmml")
## 빌딩 예제
from pypmml import Model
model = Model.load("Titanic.pmml")
model.predict(df)
## 로딩, 호출 예제
범용 머신러닝 모델 파일 포멧
Scikit-Learn, PyTorch, Tensorflow, Spark MLlib 등의 다양한 머신러닝 개발 플랫폼의 환경에서 통용되는 머신러닝 파일 포맷이 있다.
PMML과 MLeap 등이 있다.
이 공통 파일 포맷을 이용하면 어디서나 호환이 가능하다.
하지만 공통 파일 포맷이 지원해주는 기능이 미약하기 때문에 복잡한 모델에서는 지원이 복잡하다.
PMML
Predictive Model Markup Language
ML 모델을 마크업 언어로 표현하는 XML 언어
간단한 입력 데이터 전처리와 후처리도 지원하지만 제약사항이 많다.
Java 기반으로 PMML 엔진을 구현한다.
PySpark 에서는 pyspark2pmml을 사용하지만 내부적으로는 jpmml-sparkml이라는 자바 jar 파일을 사용한다.
PMML process
1. ML Pipeline을 PMML 파일로 저장한다
- pyspark2pmml 모듈을 설치
- pyspark2pmml.PMMLBuilder로 ML Pipeline을 PMML 파일로 저장
2. PMML 파일을 기반으로 모델 예측 API로 런치한다
- openscoring 프레임 워크
- AWS SageMaker
- Flask + PyPMML
3. 이 API를 통해 예측 결과를 받는 클라이언트 코드를 작성한다

728x90
'SQL > Spark, Hadoop' 카테고리의 다른 글
| Spark ML Tuning Hyper Parameter ParamGrid 파라미터 찾기 (0) | 2022.03.14 |
|---|---|
| Spark MLlib 모델 튜닝 하이퍼파라미터 (0) | 2022.03.14 |
| Spark colab 타이타닉 데이터 Pipeline ML Evaluation GBT (0) | 2022.03.13 |
| Spark 타이타닉 데이터 분석 MLib feature 변환 imputer, minmax scale, vector assembler (0) | 2022.03.13 |
| Taipei Housing ML Spark Colab 주택 가격 예측 모델 선형회귀 (0) | 2022.03.05 |