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