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

DMMの環境設定

DataRobotモデル指標ライブラリ(DMM)を使用してカスタム指標を開発できる主なエコシステムは2つあります。

  1. DataRobotアプリケーション内(ノートブックまたはスケジュールされたジョブを介して)。
  2. ローカル開発環境。

環境に関する注意事項

Pythonモジュールのインストール:

  • DataRobotアプリケーションからDMMを実行する場合、エコシステムは必要なすべてのPythonモジュールで事前に設定されています。
  • DMMをローカルで実行する場合は、dmmモジュールをインストールする必要があります。 これによりPython環境が自動的に更新され、必要なモジュールがすべて含まれます。

DMMパラメーターの設定:

  • DataRobotアプリケーション内からDMMを実行する場合、パラメーターは環境変数によって設定されます。
  • DMMをローカルで実行する場合は、環境変数を設定するのではなく、引数で値を渡してこれらのパラメーターを設定することをお勧めします。

環境の初期化

CustomMetricArgumentParserクラスは標準のargparser.ArgumentParserをラップします。 このクラスは、環境から値を読み込んだり、通常の引数解析を行うための便利な関数を提供します。 CustomMetricArgumentParser.parse_args()が呼び出されると、欠損値をチェックします。

log_managerは、ロギングに役立つ一連の関数を提供します。 DMMライブラリとDataRobotパブリックAPIクライアントは、標準のPythonloggingプリミティブを使用します。 現在のレベルを含むログクラスの完全なリストは、get_log_levels()を使用して見ることができます。 initialize_loggers()関数は、すべてのロガーを初期化します。

2024-08-09 02:19:50 PM - dmm.data_source.datarobot_source - INFO - fetching the next predictions dataframe... 2024-07-15 00:00:00 - 2024-08-09 14:19:46.643722
2024-08-09 02:19:56 PM - urllib3.connectionpool - DEBUG - https://app.datarobot.com:443 "POST /api/v2/deployments/66a90a711zd81645df8c469c/predictionDataExports/ HTTP/1.1" 202 368 

次のスニペットは、前述のクラスを使用してランタイム環境を設定する方法を示しています。

import sys
from dmm import CustomMetricArgumentParser
from dmm.log_manager import initialize_loggers

parser = CustomMetricArgumentParser(description="My new custom metric")
parser.add_base_args()  # adds standard arguments
# Add more with standard ArgumentParser primitives, or some convenience functions such as add_environment_arg()

# Parse the program arguments (if any) to an argparse.Namespace.
args = parser.parse_args(sys.argv[1:])

# Initialize the logging based on the 'LOG' environment variable, or the --log option
initialize_loggers(args.log) 

標準/基本引数には、以下が含まれます。

引数 説明
BASE_URL パブリックAPIのURL。
API_KEY BASE_URLにあるサーバーへの認証に使用されるAPIトークン。
DEPLOYMENT_ID アプリケーションのデプロイID。
CUSTOM_METRIC_ID アプリケーションのカスタム指標ID。
DRY_RUN カスタム指標の結果をデプロイに報告するかどうかを示すフラグ。 DRY_RUNランタイムパラメーターを1に設定すると、実行はテストランであり、指標データは報告されません。
START_TS 指標計算の時間範囲の開始。
END_TS 指標計算の終了時間。
MAX_ROWS 処理する予測行の最大数。
LOG ロギングの初期化では、デフォルトですべてのdmmWARNINGへのdatarobotモジュールに設定されます。

以下はCustomMetricArgumentParserを使用したヘルプの例です。

(model-runner) $ python3 custom.py --help
usage: custom.py [-h] [--api-key KEY] [--base-url URL] [--deployment-id ID] [--custom-metric-id ID] [--dry-run] [--start-ts TIMESTAMP] [--end-ts TIMESTAMP] [--max-rows ROWS] [--required] [--log [[NAME:]LEVEL ...]]

My new custom metric

optional arguments:
  -h, --help            show this help message and exit
  --api-key KEY         API key used to authenticate to server. Settable via 'API_KEY', required.
  --base-url URL        URL for server. Settable via 'BASE_URL' (default: https://staging.datarobot.com/api/v2), required.
  --deployment-id ID    Deployment ID. Settable via 'DEPLOYMENT_ID' (default: None), required.
  --custom-metric-id ID
                        Custom metric ID. Settable via 'CUSTOM_METRIC_ID' (default: None), required.
  --dry-run             Dry run. Settable via 'DRY_RUN' (default: False).
  --start-ts TIMESTAMP  Start timestamp. Settable with 'START_TS', or 'LAST_SUCCESSFUL_RUN_TS' (when not dry run). Default is 2024-08-08 14:27:55.493027
  --end-ts TIMESTAMP    End timestamp. Settable with 'END_TS' or 'CURRENT_RUN_TS'. Default is 2024-08-09 14:27:55.493044.
  --max-rows ROWS       Maximum number of rows. Settable via 'MAX_ROWS' (default: 100000).
  --required            List the required properties and exit.
  --log [[NAME:]LEVEL ...]
                        Logging level list. Settable via 'LOG' (default: WARNING).
(model-runner) $ 

save_to_csv()ユーティリティの使用

開発中は、同じデータに対して何度もコードを実行し、変更が結果にどのように影響するかを確認するのが一般的です。 save_to_csv()ユーティリティを使用すると、結果をCSVファイルに保存できるので、同じデータで連続して実行した結果を比較することができます。