44

予測モデルを本番環境に展開するためのオプションはそれほど多くないように思われますが、これはビッグ データの急増を考えると驚くべきことです。

オープンソースの PMML を使用してモデルを XML 仕様としてエクスポートできることを理解しています。これは、データベース内のスコアリング/予測に使用できます。ただし、これを機能させるには、Zementis の PMML プラグインを使用する必要があるようです。これは、ソリューションが真のオープン ソースではないことを意味します。スコアリングのために PMML を SQL にマップする簡単なオープンな方法はありますか?

もう 1 つのオプションは、XML の代わりに JSON を使用してモデル予測を出力することです。しかし、この場合、R モデルはどこに位置するのでしょうか? Rモデルがデータと同じサーバーに置かれ、Rスクリプトを使用してその受信データに対して実行されない限り、常にSQLにマップする必要があると思いますか?

そこに他のオプションはありますか?

4

6 に答える 6

16

答えは、本番環境が何であるかによって異なります。

「ビッグ データ」が Hadoop 上にある場合は、 Patternと呼ばれるこの比較的新しいオープン ソース PMML「スコアリング エンジン」を試すことができます。

それ以外の場合は (モデル固有のカスタム コードを記述する以外に)、サーバーで R を実行する以外に選択肢はありません。save適合モデルを .RData ファイルに保存してから、load対応するサーバー上で実行するために使用predictします。(これは遅くなるに違いありませんが、いつでもより多くのハードウェアを投入することができます。)

それをどのように行うかは、プラットフォームによって異なります。通常、R で記述された「カスタム」関数を追加する方法があります。その用語は UDF (ユーザー定義関数) です。Hadoop では、そのような関数を Pig (例: https://github.com/cd-wood/pigaddons ) に追加するか、RHadoopを使用して、モデルをロードしpredictて R を呼び出す単純な map-reduce コードを作成できます。 Hive にある場合、 Hive TRANSFORMを使用して外部 R スクリプトを呼び出すことができます。

R で記述された関数をさまざまな SQL データベースに追加するベンダー固有の方法もあります。再度、ドキュメントで UDF を探します。たとえば、PostgreSQL にはPL/Rがあります。

于 2014-03-11T01:09:21.400 に答える
1

Yhat の Elise です。

@Ramnath と @leo9r が言及したように、当社のソフトウェアを使用すると、REST API エンドポイントを介して任意の R (または Python) モデルを直接実稼働環境に配置できます。

プロセスに関連するすべてのモデル テストとバージョン管理 + システム管理だけでなく、リアルタイムまたはバッチも処理します。

VIA SMS と共同で作成したこのケース スタディは、R モデルを運用環境に導入する方法を検討している場合に役立つ可能性があります (同社のデータ サイエンス チームは、Yhat を使用する前に PHP に再コーディングしていました)。

乾杯!

于 2016-10-06T17:08:07.003 に答える