スコアリングコード¶
本機能の提供について
スコアリングコード機能の有効化については、DataRobotの担当者にお問い合わせください。
スコアリングコードを使用すると、DataRobotで生成済みモデルをJARファイルとしてエクスポートして、プラットフォームの外部で使用できます。 DataRobotでは、適格なモデルであれば、コード生成が自動的に実行されます。コードを利用できるかどうかは、リーダーボード上のスコアリングコードインジケーターによって示されます。 モデルのスコアリングコードをリーダーボードまたはモデルデプロイからエクスポートできます。 ダウンロードには、事前にコンパイルされたJARファイル(全ての依存関係を含む)とソースコードJARファイルが含まれます。 エクスポートした後、モデルのソースコードを表示することで、DataRobotでの予測の生成手順について理解を深めることができます。
DataRobotはスコアリングコードがあるモデルをどのように判断しますか?
スコアリングコード機能を有効にすると、DataRobotでは、各ブループリントの前処理のステップのJava代替が生成され、その結果が検定セット上で元の結果と比較されます。 結果の差分が0.00001よりも大きい場合、DataRobotでは、スコアリングコードをダウンロードするオプションは提供されません。 この方法により、元のモデルと同じ予測がスコアリングコードJARモデルで生成されることが保証されます。 検証に失敗した場合は、ログタブでエラーの詳細を確認してください。 詳細については、スコアリングコードに関する注意事項を参照してください。
スコアリングコードJARには、予測モデルのJavaスコアリングコードが含まれています。 予測計算ロジックはDataRobot APIと同じです(コード生成メカニズムによって、生成プロセスの一部として各モデルの精度がテストされます)。 生成コードは、DataRobotアプリケーションに依存せず、どの環境にも簡単にデプロイできます。
Javaの要件
モデルJARファイルには、Java 8またはそれ以降が必要です。
次のセクションでは、スコアリングコードの操作方法について説明します。
トピック | 説明 |
---|---|
リーダーボードからのスコアリングコードのダウンロード | リーダーボードからスコアリングコードをダウンロードして設定します。 |
デプロイからのスコアリングコードのダウンロード | デプロイからスコアリングコードをダウンロードして設定します。 |
時系列スコアリングコードのダウンロード | 時系列プロジェクトでスコアリングコードをダウンロードして設定します。 |
コマンドラインでのスコアリング | 組み込みCLIを使用したスコアリング構文。 |
スコアリングコードの使用例 | スコアリングコードJARを使用して、CLIおよびJavaプロジェクトからスコアリングする方法を示す例。 |
JARの構造 | スコアリングコードJARパッケージの内容。 |
既存のプロジェクトでのJavaモデルの生成 | スコアリングコード機能が有効になる前に作成されたモデルの再トレーニング。 |
下位互換性のあるJava API | 別のバージョンのDataRobotで作成されたモデルでのスコアリングコードを使用します。 |
スコアリングコードJARインテグレーション | DataRobotスコアリングコードを外部プラットフォームにデプロイします。 |
Androidでのスコアリングコード | AndroidでDataRobotスコアリングコードを使用します。 |
スコアリングコードを使用する理由¶
スコアリングコードには、以下のメリットがあります。
-
柔軟性:Javaコードが実行可能な環境で使用できます。
-
速度:API呼び出しのオーバーヘッドなしでの低レイテンシースコアリングを提供します。 一般的に、JavaコードはPython APIを介したスコアリングよりも高速です。
-
インテグレーション:DataRobot APIと通信できない可能性のあるシステムにモデルを統合できます。 スコアリングコードは、完全にオフラインのシステムの主な手段として使用するか、DataRobot APIを使用するシステムのバックエンドとして使用することができます。
-
陽性的中率:DataRobotとJARモデルによって生成された予測の完全一致を提供します。
-
ハードウェア:追加のハードウェアを使用して大量のデータをスコアリングできます。
機能に関する注意事項¶
スコアリングコードを使用する場合は、次の点に注意してください。
-
運用環境でスコアリングコードを使用するには、モデル管理およびモデル監視を実装する必要があります(モデル管理およびモデル監視は、DataRobot APIによって事前定義済みで提供されます)。
-
エクスポート可能なJavaスコアリングコードを使用する場合、モデル構築で追加のRAMが必要になります。 したがって、この機能を使用するには、トレーニングデータセットを8GB以下にする必要があります。 8GBを超える大規模なプロジェクトは、メモリーの問題により失敗する可能性があります。 メモリー不足エラーが発生する場合は、サンプルサイズを小さくして再試行してください。 メモリー要件はモデルのスコアリング時には適用されません。 スコアリング中、データセットに関する唯一の制約は、スコアリングコードを実行するマシンのRAMです。
モデルサポート¶
スコアリングコードの使用を計画する場合は、モデルサポートに関する以下の注意事項を確認してください。
-
スコアリングコードは、サポート対象の組み込みタスクのみを含むモデルで使用できます。 カスタムモデル、または1つ以上の カスタムタスクを含むモデルでは使用できません。
-
アンサンブルは、多ラベル プロジェクトではサポートされていません。
-
Kerasモデルは、デフォルトではスコアリングコードをサポートしていません。ただし、管理者が機能フラグ「Kerasモデルでスコアリングコードのサポートを有効化」を有効にすると、使用できるようになります。 これらのモデルはAndroidおよびSnowflakeのスコアリングコードと互換性がないことに注意してください。
その他に、スコアリングコードの生成ができないケースは次のとおりです。
- Naive Bayes モデル
- Visual Artificial Intelligence (AI)とLocation AIモデル
- 日本語テキストにMeCabトークナイザーを使用するテキストのトークン化(高度なチューニングからアクセス)
テキストトークン化
デフォルトのテキストトークン化設定であるchar-gramsを使用すると、日本語テキストがサポートされます。
時系列のサポート¶
以下の時系列プロジェクトおよびモデルは、スコアリングコードをサポートしていません。
異常検知モデルのサポート
通常、時系列異常検知モデルではスコアリングコードはサポートされていませんが、IsolationForestと一部のXGBoostベースの異常検知モデルブループリントでは_サポートされています_。 サポートされている時系列ブループリントのリストについては、 スコアリングコードをサポートする時系列ブループリントを参照してください。
サポートされていない機能¶
スコアリングコードでは以下の機能がサポートされていません。
- 行ベース / 不規則なデータ
- ナウキャスティング(単一の予測ポイント)
- 月内の季節性
- 時系列アンサンブル
- 自動拡張
- 指数加重移動平均(EWMA)
- クラスタリング
- 部分的な履歴 / コールドスタート
- 予測の説明
- データアップロード後の型変換
サポートされている機能¶
現在、時系列のスコアリングコードでは以下の機能がサポートされています。
- コマンドラインでスコアリングするための時系列パラメーター
- セグメント化されたモデリング
- 予測の説明
- カレンダー(高解像度)
- 交差系列
- ゼロ過剰/ナイーブ二値
- ナウキャスティング(履歴範囲予測)
- ブラインド履歴ギャップ
- 加重特徴量
加重特徴量のサポート
通常、加重特徴量はサポートされていますが、検定上の問題により、スコアリングコードが利用できなくなる場合があります。たとえば、ローリング合計の計算が異なることで、加重特徴量を持つプロジェクトと、weighted std
またはweighted mean
を持つ特徴量セットでトレーニングされたモデルで整合性の問題が発生することがあります。
スコアリングコードをサポートする時系列ブループリント¶
通常、以下のブループリントはスコアリングコードをサポートしています。
- 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トークナイザーを用いたテキストのトークン化(高度なチューニングからアクセス)を使用する一部のモデルでは、スコアリングコードが利用できない場合があります。 オートパイロット中にデフォルト設定のchar-gramsを使用すると、日本語テキストがサポートされます。
- ローリング合計の計算が異なることで、重み付け特徴量を持つプロジェクトと、
weighted std
またはweighted mean
を持つ特徴量セットでトレーニングされたモデルで整合性の問題が発生することがあります。
予測の説明のサポート¶
スコアリングコードで予測の説明を使用する場合は、次の点に注意してください。
-
スコアリングコード付きの予測の説明をダウンロードするには、 リーダーボードのダウンロードまたは デプロイのダウンロード時に、予測の説明を含めるを選択する必要があります。 このオプションは レガシーダウンロードでは使用できません。
-
スコアリングコードは、 XEMPベースの予測の説明のみ対応しています。 SHAPベースの予測の説明には対応していません。
-
スコアリングコードは、時系列モデルの予測の説明には対応していません。