- カテゴリ:
MODEL_MONITOR_DRIFT_METRIC¶
モデルモニター からドリフトメトリクスを取得します。各モデルモニターは1つの機械学習モデルをモニターします。
- こちらもご参照ください。
詳細については、 モニタリング結果のクエリ をご参照ください。
構文¶
MODEL_MONITOR_DRIFT_METRIC(
<model_monitor_name>, <drift_metric_name>, <column_name>
[ , <granularity> [ , <start_time> [ , <end_time> [ , <extra_args> ] ] ] ]
)
引数¶
必須:
model_monitor_nameメトリックの計算に使用したモデルモニターの名前。
有効な値: モデルモニター名の文字列。単純な名前でも完全修飾名でもかまいません。
drift_metric_nameメトリックの名前。
有効な値:
'JENSEN_SHANNON''DIFFERENCE_OF_MEANS''WASSERSTEIN''POPULATION_STABILITY_INDEX'
column_nameドリフトの計算に使用する列の名前。
有効な値: モデルモニター内の特徴列、予測列、または実際列として存在する任意の文字列。
オプション:
granularityクエリされる時間範囲の粒度。デフォルト値は
1 DAYです。有効な値:
'<数値> DAY''<数値> WEEK''<数値> MONTH''<数値> QUARTER''<数値> YEAR''ALL'NULL
start_timeメトリックの計算に使用される時間範囲の開始時刻。デフォルト値は現在時刻の60日前で、関数を呼び出すたびに計算されます。
有効な値: タイムスタンプ式または
NULL。end_timeメトリックの計算に使用される時間範囲の終了時刻。デフォルト値は現在時刻で、関数を呼び出すたびに計算されます。
有効な値: タイムスタンプ式または
NULL。extra_argsセグメント固有のクエリの追加の引数。このパラメーターはオプションです。提供しない場合、クエリはすべてのデータのメトリックを返します(非セグメントクエリ)。
有効な値:セグメント列と値のペアを指定する JSON 形式の文字列:
'{"SEGMENTS": [{"column": "<segment_column_name>", "value": "<segment_value>"}]}'注釈
現在、セグメントクエリは、クエリごとに1つのセグメント列 : 値のペアのみをサポートしています。1回の関数呼び出しで複数のセグメントを同時にクエリすることはできません。
セグメントの詳細については、 ML 可観測性:時間経過に伴うモデルの動作のモニタリング をご参照ください。
戻り値¶
列 |
説明 |
値の例 |
|---|---|---|
|
時間範囲の開始時のタイムスタンプ。 |
|
|
指定された時間範囲内のメトリックの値。 |
|
|
メトリックの計算に使用されたレコード数。 |
|
|
メトリック計算から除外されたレコード数。 |
|
|
メトリックの計算に使用されたレコード数。 |
|
|
メトリック計算から除外されたレコード数。 |
|
|
計算されたドリフトメトリックの名前。 |
|
|
ドリフトメトリックが計算された列の名前。 |
|
|
メトリックが計算されるセグメント列の名前(または非セグメントクエリの NULL)。 |
|
|
メトリックが計算されるセグメントの値(または非セグメントクエリの NULL)。 |
|
使用上の注意¶
ドリフトメトリックを計算するためには、モデルモニターにベースラインが設定されている必要があります。
次の場合、エラーが発生する可能性があります。
モデルモニターにベースラインを設定しない。
非数値フィーチャーに対する数値ドリフトメトリックをリクエスト。
モデルモニターに存在しないドリフトメトリックを使用する。
column_name または model_monitor_name に指定した値が大文字と小文字を区別する場合、または特殊文字やスペースが含まれている場合は、二重引用符で囲みます。'"<model_monitor_name>"' のように、二重引用符を一重引用符で囲む必要があります。
これらの2つのフィールドに二重引用符が提供されていない場合は、 column_name または model_monitor_name は大文字と小文字を区別しないと見なされます。
スキーマの変更による潜在的な影響を最小限に抑えるには、ワイルドカード(*)を使用する代わりに、必要な列のみを明示的に選択するようにクエリを更新します。
例¶
次の例では、 MY_MONITOR の1日の差の平均ドリフトメトリックを取得します。
SELECT * FROM TABLE(MODEL_MONITOR_DRIFT_METRIC(
'MY_MONITOR', 'DIFFERENCE_OF_MEANS', 'MODEL_PREDICTION', '1 DAY', TO_TIMESTAMP_TZ('2024-01-01'), TO_TIMESTAMP_TZ('2024-01-02'))
)
次の例では、 MY_MONITOR の過去30日間のジェンセンシャノンのドリフトメトリックを取得します。
SELECT * FROM TABLE(MODEL_MONITOR_DRIFT_METRIC(
'MY_MONITOR', 'JENSEN_SHANNON', 'MODEL_PREDICTION', '1 DAY', DATEADD('DAY', -30, CURRENT_DATE()), CURRENT_DATE())
)