カテゴリ:

モデルモニター関数

MODEL_MONITOR_PERFORMANCE_METRIC

モデルモニター からパフォーマンスメトリクスを取得します.各モデルモニターは1つの機械学習モデルをモニターします。

こちらもご参照ください。

詳細については、 モニタリング結果のクエリ をご参照ください。

構文

MODEL_MONITOR_PERFORMANCE_METRIC(<model_monitor_name>, <performance_metric_name>,
    [, <granularity> [, <start_time>  [, <end_time> ] ] ] )
Copy

引数

必須:

MODEL_MONITOR_NAME

メトリックの計算に使用したモデルモニターの名前。

有効な値:

モデルモニターの名前を表す文字列。単純な名前でも完全修飾名でもかまいません。

METRIC_NAME

パフォーマンスメトリックの名前。

モデルモニターが回帰モデルに接続されている場合に有効な値:

  • 'RMSE'

  • 'MAE'

  • 'MAPE'

  • 'MSE'

モデルモニターがバイナリ分類モデルに接続されている場合に有効な値:

  • 'ROC_AUC'

  • 'CLASSIFICATION_ACCURACY'

  • 'PRECISION'

  • 'RECALL'

  • 'F1_SCORE'

オプション:

GRANULARITY

クエリされる時間範囲の粒度。デフォルト値は 1 DAY です。

有効な値:

  • '<数値> DAY'

  • '<数値> WEEK'

  • '<数値> MONTH'

  • '<数値> QUARTER'

  • '<数値> YEAR'

  • 'ALL'

  • NULL

START_TIME

メトリックの計算に使用される時間範囲の開始時刻。デフォルト値は現在時刻の60日前で、関数を呼び出すたびに計算されます。

有効な値:

タイムスタンプ式または NULL

END_TIME

メトリックの計算に使用される時間範囲の終了時刻。デフォルト値は現在時刻で、関数を呼び出すたびに計算されます。

有効な値:

タイムスタンプ式または NULL

戻り値

説明

値の例

EVENT_TIMESTAMP

時間範囲の開始時のタイムスタンプ。

2024-01-01 00:00:00.000

METRIC_VALUE

指定された時間範囲内のメトリックの値。

0.5

COUNT_USED

メトリックの計算に使用されたレコード数。

100

COUNT_UNUSED

メトリック計算から除外されたレコード数。

10

METRIC_NAME

計算されたメトリックの名前。

ROC_AUC

使用上の注意

一般的な要件

  • モデルモニターは、リクエストされたメトリックタイプをサポートするモデルに関連付けられている必要があります。

  • モデルモニターには、以下に説明するように、メトリックのタイプごとに必要なデータが含まれていなければなりません。

メトリックの要件

以下は、回帰メトリクスを取得するために必要な列です。

  • RMSE: prediction_score および actual_score 列が必要です

  • MAE: prediction_score および actual_score 列が必要です

  • MAPE: prediction_score および actual_score 列が必要です

バイナリ分類メトリックを取得するために必要な列を以下に示します。

  • ROC_AUC: prediction_score および actual_class 列が必要です

  • CLASSIFICATION_ACCURACY: prediction_class および actual_class 列が必要です

  • PRECISION: prediction_class および actual_class 列が必要です

  • RECALL: prediction_class および actual_class 列が必要です

  • F1_SCORE: prediction_class および actual_class 列が必要です

以下は、マルチクラス分類メトリックの取得に必要な列です。

  • CLASSIFICATION_ACCURACY: prediction_class および actual_class 列が必要です

  • MACRO_AVERAGE_PRECISION: prediction_class および actual_class 列が必要です

  • MACRO_AVERAGE_RECALL: prediction_class および actual_class 列が必要です

  • MICRO_AVERAGE_PRECISION: prediction_class および actual_class 列が必要です

  • MICRO_AVERAGE_RECALL: prediction_class および actual_class 列が必要です

注釈

バイナリ分類では、マルチクラス分類で分類精度を使用する方法と同様に、マイクロ平均精度と回帰メトリックを使用できます。

エラーのケース

以下の場合、エラーが発生する可能性があります。

  • 対応する予測または実際の列を設定せずに、精度メトリックをリクエストする。

  • actual_score または actual_class 列でのデータの提供に失敗する。

以下の例では、モデルモニターから1日の二乗平均平方根エラー(RMSE)を取得しています。

SELECT * FROM TABLE(MODEL_MONITOR_PERFORMANCE_METRIC(
'MY_MONITOR', 'RMSE', '1 DAY', TO_TIMESTAMP_TZ('2024-01-01'), TO_TIMESTAMP_TZ('2024-01-02'))
)
Copy

以下の例では、モデルモニターから過去30日間の二乗平均平方根エラー(RMSE)を取得しています。

SELECT * FROM TABLE(MODEL_MONITOR_PERFORMANCE_METRIC(
'MY_MONITOR', 'RMSE', '1 DAY', DATEADD('DAY', -30, CURRENT_DATE()), CURRENT_DATE())
)
Copy