jpmml/sklearn2pmml

Python library for converting Scikit-Learn pipelines to PMML

해결하는 문제

SkLearn2PMML은 원본 Scikit-Learn 추정기의 이식성 부족 문제를 해결합니다. Scikit-Learn 모델은 종종 충분한 메타데이터(예: 특징 이름)를 포함하지 않아 다양한 환경 간 이동이 어려운 경우가 많습니다. 이 도구를 사용하면 Scikit-Learn 파이프라인을 예측 모델 마크업 언어(PMML) 형식으로 변환할 수 있어, 원래 학습 플랫폼과 관계없이 다양한 환경에 배포할 수 있습니다.

작동 방식

이 패키지는 JPMML-SkLearn 라이브러리의 Python 래퍼 역할을 합니다. 적합한 추정기 객체나 피클 파일을 유틸리티 함수 또는 명령줄 인터페이스를 사용하여 직접 PMML 파일로 변환할 수 있습니다.

이식성과 기능을 강화하기 위해 PMMLPipeline이라는 메타 추정기를 제공합니다. 이는 표준 Scikit-Learn 파이프라인을 확장한 것으로, 다음 기능을 가능하게 합니다:

  • 메타데이터 수집: fit 과정 중에 특징 및 레이블 이름을 자동으로 캡처.
  • 후처리: 특정 변환기 속성을 통해 예측 결과에 변환을 적용.
  • 모델 검증: 배포 시 자체 검사를 위해 샘플 데이터를 모델 내에 포함.
  • 사용자 정의: PMML XML 조각을 직접 수정 가능.

또한 복잡한 데이터 유형과 앙상블 방법을 처리하기 위해 특화된 PMML 기반의 변환기 및 예측기(예: ExpressionTransformer, CategoricalDomain, GBDTLRClassifier)를 제공합니다.

대상 사용자

Scikit-Learn을 사용해 모델을 구축하지만, 상호 운용성과 이식성을 위해 PMML을 요구하는 데이터 과학자 및 ML 엔지니어.

주요 특징

  • 광범위한 호환성: Scikit-Learn 0.17 이상 버전과 호환.
  • 안전한 언피클링: 피클 파일을 읽기 위해 커스텀 자바 컴포넌트를 사용하여 신뢰할 수 없는 파일에도 안전하게 사용 가능.
  • 강화된 메타데이터: 특징 및 타겟 이름을 캡처하여 모델이 자가 설명 가능하도록.
  • 유연한 배포: Python 라이브러리 API와 독립형 명령줄 도구 모두 지원.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트