Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

スコアリングコードの概要

本機能の提供について

スコアリングコード機能の有効化については、DataRobotの担当者にお問い合わせください。

スコアリングコードを使用すると、DataRobotで生成済みモデルをJARファイルとしてエクスポートして、プラットフォームの外部で使用できます。 DataRobotでは、適格なモデルであれば、コード生成が自動的に実行されます。コードを利用できるかどうかは、リーダーボード上のスコアリングコードインジケーターによって示されます。

モデルのスコアリングコードをリーダーボードまたはモデルデプロイからエクスポートできます。 ダウンロードには、事前にコンパイルされたJARファイル(全ての依存関係を含む)とソースコードJARファイルが含まれます。 エクスポートした後、モデルのソースコードを表示することで、DataRobotでの予測の生成手順について理解を深めることができます。

スコアリングコードJARには、予測モデルのJavaスコアリングコードが含まれています。 予測計算ロジックはDataRobot APIと同じです(コード生成メカニズムによって、生成プロセスの一部として各モデルの精度がテストされます)。 生成コードは、DataRobotアプリケーションに依存せず、どの環境にも簡単にデプロイできます。

DataRobotはスコアリングコードがあるモデルをどのように判断しますか?

スコアリングコード機能を有効にすると、DataRobotでは、各ブループリントの前処理のステップのJava代替が生成され、その結果が検定セット上で元の結果と比較されます。 結果の差分が0.00001よりも大きい場合、DataRobotでは、スコアリングコードをダウンロードするオプションは提供されません。 この方法により、元のモデルと同じ予測がスコアリングコードJARモデルで生成されることが保証されます。 検証に失敗した場合は、ログタブでエラーの詳細を確認してください。

スコアリングコードを使用する理由

  • 柔軟性:Javaコードが実行可能な環境で使用できます。

  • 速度:API呼び出しのオーバーヘッドなしでの低レイテンシースコアリングを提供します。 一般的に、JavaコードはPython APIを介したスコアリングよりも高速です。

  • インテグレーション:DataRobot APIと通信できない可能性のあるシステムにモデルを統合できます。 スコアリングコードは、完全にオフラインのシステムの主な手段として使用するか、DataRobot APIを使用するシステムのバックエンドとして使用することができます。

  • 陽性的中率:DataRobotとJARモデルによって生成された予測の完全一致を提供します。

  • ハードウェア:追加のハードウェアを使用して大量のデータをスコアリングできます。

詳細については、以下のセクションを参照してください。

備考

モデルJARファイルには、Java 8またはそれ以降が必要です。

機能に関する注意事項

スコアリングコードを使用する場合は、次の点に注意してください。

  • 運用環境でスコアリングコードを使用するには、モデル管理およびモデル監視を実装する必要があります(モデル管理およびモデル監視は、DataRobot APIによって事前定義済みで提供されます)。

  • エクスポート可能なJavaスコアリングコードを使用する場合、モデル構築で追加のRAMが必要になります。 したがって、この機能を使用するには、トレーニングデータセットを8GB以下にする必要があります。 8GBを超える大規模なプロジェクトは、メモリーの問題により失敗する可能性があります。 メモリー不足エラーが発生する場合は、サンプルサイズを小さくして再試行してください。 メモリー要件はモデルのスコアリング時には適用されません。 スコアリング中、データセットに関する唯一の制約は、スコアリングコードを実行するマシンのRAMです。

モデルサポート

  • スコアリングコードは、サポート対象の組み込みタスクのみを含むモデルで使用できます。 カスタムモデル、または1つ以上の カスタムタスクを含むモデルでは使用できません。

  • アンサンブルは、多ラベルプロジェクトではサポートされていません。

  • Kerasモデルは、デフォルトではスコアリングコードをサポートしていません。ただし、管理者が機能フラグ「Kerasモデルでスコアリングコードのサポートを有効化」を有効にすると、使用できるようになります。 有効にした場合、これらのモデルはAndroidおよびSnowflakeのスコアリングコードと互換性がないことに注意してください。

その他に、スコアリングコードの生成ができないケースは次のとおりです。

  • ナイーブベイズ

  • MeCabトークナイザーを使用したテキストのトークン化

  • Visual Artificial Intelligence(AI)およびLocation AI

時系列のサポート

  • スコアリングコードでは次の時系列機能はまだサポートされていません。

    • 行ベース/不規則なデータ
    • ナウキャスティング(単一の予測ポイント)
    • 月内の季節性
    • 時系列アンサンブル
    • 自動拡張
    • EWMA(指数加重移動平均)
    • クラスタリング
  • スコアリングコードは、時系列の二値分類プロジェクトではサポートされていません。

  • 通常、スコアリングコードは、時系列の異常検知モデルではサポートされていませんが、IsolationForestおよび一部のXGBoostベースの異常検知モデルのブループリントではサポートされています。 サポートされている時系列ブループリントのリストについては、 スコアリングコードをサポートする時系列ブループリントを参照してください。

スコアリングコードをサポートする時系列ブループリント

通常、以下のブループリントはスコアリングコードをサポートしています。

  • AUTOARIMA with Fixed Error Terms
  • ElasticNet Regressor (L2 / Gamma Deviance) using Linearly Decaying Weights with Forecast Distance Modeling
  • ElasticNet Regressor (L2 / Gamma Deviance) with Forecast Distance Modeling
  • ElasticNet Regressor (L2 / Poisson Deviance) using Linearly Decaying Weights with Forecast Distance Modeling
  • ElasticNet Regressor (L2 / Poisson Deviance) with Forecast Distance Modeling
  • Eureqa Generalized Additive Model (250 Generations)
  • Eureqa Generalized Additive Model (250 Generations) (Gamma Loss)
  • Eureqa Generalized Additive Model (250 Generations) (Poisson Loss)
  • Eureqa Regressor (Quick Search: 250 Generations)
  • eXtreme Gradient Boosted Trees Regressor
  • eXtreme Gradient Boosted Trees Regressor (Gamma Loss)
  • eXtreme Gradient Boosted Trees Regressor (Poisson Loss)
  • eXtreme Gradient Boosted Trees Regressor with Early Stopping
  • eXtreme Gradient Boosted Trees Regressor with Early Stopping (Fast Feature Binning)
  • eXtreme Gradient Boosted Trees Regressor with Early Stopping (Gamma Loss)
  • eXtreme Gradient Boosted Trees Regressor with Early Stopping (learning rate =0.06) (Fast Feature Binning)
  • eXtreme Gradient Boosting on ElasticNet Predictions
  • eXtreme Gradient Boosting on ElasticNet Predictions (Poisson Loss)
  • Light Gradient Boosting on ElasticNet Predictions
  • Light Gradient Boosting on ElasticNet Predictions (Gamma Loss)
  • Light Gradient Boosting on ElasticNet Predictions (Poisson Loss)
  • Performance Clustered Elastic Net Regressor with Forecast Distance Modeling
  • Performance Clustered eXtreme Gradient Boosting on Elastic Net Predictions
  • RandomForest Regressor
  • Ridge Regressor using Linearly Decaying Weights with Forecast Distance Modeling
  • Ridge Regressor with Forecast Distance Modeling
  • Vector Autoregressive Model (VAR) with Fixed Error Terms
  • IsolationForest Anomaly Detection with Calibration (time series)
  • Anomaly Detection with Supervised Learning (XGB) and Calibration (time series)

上記のブループリントはスコアリングコードをサポートしていますが、スコアリングコードが利用できない状況もあります。

  • スコアリングコードは、特徴量探索を使用して生成された一部のモデルでは使用できない場合があります。
  • イベントがデータセットにない場合、日付レベル以外のカレンダーで整合性の問題が発生する可能性があります。そのため、スコアリングコードは利用できません。
  • ゼロ以外のブラインド履歴がある状況で予測ポイントを推論すると、整合性の問題が発生する可能性があります。ただし、この場合もスコアリングコードを利用できます。
  • MeCabトークナイザーを用いたテキストのトークン化を使用する一部のモデルでは、スコアリングコードが利用できない場合があります。
  • ローリング合計の計算が異なることで、重み付け特徴量を持つプロジェクトと、weighted stdまたはweighted meanを持つ特徴量セットでトレーニングされたモデルで整合性の問題が発生することがあります。
時系列のスコアリングコードで利用できる機能

現在、時系列のスコアリングコードでは以下の機能がサポートされています。

スコアリングコードでは次の時系列機能はまだサポートされていません。

  • 行ベース/不規則なデータ
  • ナウキャスティング(単一の予測ポイント)
  • 月内の季節性
  • 時系列アンサンブル
  • 自動拡張
  • EWMA(指数加重移動平均)

予測の説明のサポート

スコアリングコードで予測の説明を使用する場合は、次の点に注意してください。


更新しました February 6, 2024