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に特化した変換器および予測器(例:ExpressionTransformerCategoricalDomainGBDTLRClassifier)も提供しています。

対象ユーザー

Scikit-Learnでモデルを構築するが、PMMLを必要とする相互運用性とポータビリティを求めるデータサイエンティストやMLエンジニア。

特徴

  • 広範な互換性:Scikit-Learn 0.17以降のバージョンと互換。
  • 安全なアンピクル:ピクルファイルを読み込むためにカスタムJavaコンポーネントを使用し、信頼できないファイルでも安全に利用可能。
  • 強化されたメタデータ:特徴名とターゲット名を取得し、モデルが自己記述可能になるように。
  • 柔軟なデプロイ:PythonライブラリAPIとスタンドアロンのコマンドラインツールの両方をサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト