Repolode
nok

nok/sklearn-porter

学習済みのscikit-learnモデルや変換器を、C、C#、Go、Java、JavaScript、PHP、Rubyのコードに変換するPythonツール。

スター
1,304
フォーク
168
未解決の Issue
4
最終コミット
11 時間前

これは何?

sklearn-porterは、学習済みのscikit-learn推定器、変換器、パイプラインを受け取り、C、C#、Go、Java、JavaScript、PHP、Rubyのソースコードを生成します。生成されたコードはPythonランタイムなしで予測を実行できるため、組み込みデバイスやブラウザー、別の言語で書かれた既存アプリケーションへの組み込みに役立ちます。

幅広い分類器、回帰器、外れ値検出器、前処理や特徴選択の変換器に対応しており、木のアンサンブル、線形モデル、SVM、ニューラルネットワークなどを扱えます。変換された推定器は元のモデルと同じ予測を行い、変換器も特徴量を同じように変換することを目指しています。

モデルデータはコードに埋め込む、個別のJSONファイルに出力する、またはネストしたif-else文としてロジックに組み込むことができます。パッケージにはPython API、`porter`コマンドラインツール、変換後の出力を元のモデルと比較する`test`ヘルパーが用意されています。インストールにはPython 3.11以降とscikit-learn 1.8以降が必要です。

主な機能

  • 01分類器、回帰器、外れ値検出器を7つの言語に変換します。
  • 02一般的な前処理・特徴選択の変換器とパイプラインを変換します。
  • 03モデルデータの保存に、埋め込み、外部出力、組み込みの各テンプレートを利用できます。
  • 04Python APIと`porter`コマンドラインインターフェースを提供します。
  • 05変換後の予測結果を元のモデルと比較するテスト関数を備えています。

ユースケース

  • Pythonなしで、組み込みデバイス上で学習済みscikit-learnモデルを実行する。
  • Pythonサービスを使わずに、Java、Go、PHPのバックエンドへモデルの予測機能を組み込む。
  • JavaScriptを使ってブラウザー内で分類器を実行する。

クイックスタート

  1. 1

    uvでパッケージをインストールする

    uv add sklearn-porter
  2. 2

    またはpipでインストールする

    pip install sklearn-porter
  3. 3

    Pythonでscikit-learnモデルを学習し、port(clf, language='js')で移植する

使う前に知っておきたいこと

  • Python 3.11以降とscikit-learn 1.8以降が必要です。
  • 対応しているのは、scikit-learnの固定リストに含まれる推定器と変換器のみです。

収録されている特集

トピック

よくある質問

sklearn-porter とは?
学習済みのscikit-learnモデルや変換器を、C、C#、Go、Java、JavaScript、PHP、Rubyのコードに変換するPythonツール。 sklearn-porterは、学習済みのscikit-learn推定器、変換器、パイプラインを受け取り、C、C#、Go、Java、JavaScript、PHP、Rubyのソースコードを生成します。生成されたコードはPythonランタイムなしで予測を実行できるため、組み込みデバイスやブラウザー、別の言語で書かれた既存アプリケーションへの組み込みに役立ちます。
sklearn-porter は無料で使えますか?ライセンスは?
sklearn-porter は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
sklearn-porter は今もメンテナンスされていますか?
活発にメンテナンス中。sklearn-porter の最終コミットは 2026年11月5日 です。
sklearn-porter は何に使えますか?
Pythonなしで、組み込みデバイス上で学習済みscikit-learnモデルを実行する。 Pythonサービスを使わずに、Java、Go、PHPのバックエンドへモデルの予測機能を組み込む。 JavaScriptを使ってブラウザー内で分類器を実行する。
sklearn-porter のインストール方法は?
uvでパッケージをインストールする: uv add sklearn-porter またはpipでインストールする: pip install sklearn-porter Pythonでscikit-learnモデルを学習し、port(clf, language='js')で移植する
sklearn-porter はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/nok/sklearn-porter

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト