もし使用したいモデルのエンドポイントとして動作するデプロイを作成した場合、REST APIを用いたcurlコマンド、またはPython SDKの利用し予測の実行ができます。
ターミナルからの予測の実行についてさらなる情報が必要な場合、こちらのappのドキュメントごらんください(リンク先はクラウド利用者のみ閲覧可能。エンタープライズ利用者はDataRobotの画面からドキュメントに移り、モデルの使用(ver. 6.0現在)をご覧ください)。 また、こちらにPython SDKのドキュメントがあります。
DataRobot Community Githubのワークフローとスニペットのサンプルコードはこちらにあります。
ターミナルからの予測実行
必要事項
- Deployment—すでにデプロイ済みのモデル。詳細はこちら。
- endpoint_url—エンドポイントのURL。GUI上の デプロイ > 概要タブから確認できます。
- api_key—DataRobotのGUIの開発者ツール画面に記載
- datarobot-key—you can find this in the code found on the デプロイ> インテグレーション のコードで確認できます。 SaaSのクラウド版を利用している場合、datarobot-keyは必要です。
- deploymentId—youデプロイの画面のURLに英数字を確認できます。また、cURLリクエストを用いてデプロイを作成したときにも取得できます。
- Filepath.csv—予測を実行したいデータのファイルパス
ターミナルでのリクエストフォーマット
curl -v \
-X POST \
PRED_ENDPOINT \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "datarobot-key: YOUR_DATAROBOT_KEY" \
-H "Content-Type: application/json" \
(this could be also CSV) --data-raw JSON_PAYLOAD
リクエストサンプル
(cURL のサンプル)
API_KEY=YOUR_API_KEY
DATAROBOT_KEY=YOUR_DATAROBOT_KEY
DEPLOYMENT_ID=YOUR_DEPLOYMENT_ID
JSON_PAYLOAD=YOUR_JSON_PAYLOAD
ENDPOINT_URL=YOUR_ENDPOINT_URL
PRED_ENDPOINT=$YOUR_DR_URL/predApi/v1.0/deployments/$DEPLOYMENT_ID/predictions
curl -v \
-X POST \
ENDPOINT_URL \
-H "Authorization: Bearer $API_KEY" \
-H "datarobot-key: $DATAROBOT_KEY" \
-H "Content-Type: application/json" \
--data-raw $JSON_PAYLOADExample JSON payload[
{
"feature_1": "value",
"some_other_feature": 42,
"a_boolean_feature": true,
...
},
...
]
- API Key—DataRobotのGUIの開発者ツール画面に記載
- DataRobotのパッケージのインストールとDataRobotへの接続(詳細はこちら)
- A completed model—作成したモデル (詳細はこちら)
モデルに関する下記の情報
- The project ID—URLの1番目の英数字
例: app.datarobot.com/projects/<projectId>/models/<modelId>blueprin
- The model ID—URLの2番目の英数字
例: app.datarobot.com/projects/<projectId>/models/<modelId>blueprintt
- filepath—予測を実行したいデータのファイルパス
スコアのコード
import datarobot as dr
project_id = '‘<projectId>’
model_id = ‘<modelId>’
project = dr.Project.get(project_id)
model = dr.Model.get(project=project_id, model_id=model_id)
dataset_from_path = project.upload_dataset('<filepath>')
predict_job = model.request_predictions(dataset_from_path.id)
サンプル
(Pythonサンプル)
import datarobot as dr
project_id = '5505fcd42bd88f5953219da0'
model_id = '5505fcd42bd88f1641a720a3'
project = dr.Project.get(project_id)
model = dr.Model.get(project=project_id, model_id=model_id)
dataset_from_path = project.upload_dataset('./data_to_predict.csv')
predict_job = model.request_predictions(dataset_from_path.id)