- 类别:
MODEL_MONITOR_PERFORMANCE_METRIC¶
从 模型监视器 获取性能指标。每个模型监视器监控一个机器学习模型。
- 另请参阅:
有关更多信息,请参阅 查询监控结果。
语法¶
MODEL_MONITOR_PERFORMANCE_METRIC(<model_monitor_name>, <performance_metric_name>,
[, <granularity> [, <start_time> [, <end_time> [, <extra_args> ] ] ] ] )
实参¶
必填:
MODEL_MONITOR_NAME用于计算指标的模型监视器名称。
有效值:
模型监视器名称字符串。它可以是一个简单或完全限定的名称。
METRIC_NAME性能指标的名称。
如果模型监视器连接到回归模型,则有效值包括:
'RMSE''MAE''MAPE''MSE'
如果模型监视器连接到二进制分类模型,则有效值包括:
'ROC_AUC''CLASSIFICATION_ACCURACY''PRECISION''RECALL''F1_SCORE'
可选:
GRANULARITY正在查询的时间范围的粒度。默认值为
1 DAY。有效值:
'<num> DAY''<num> WEEK''<num> MONTH''<num> QUARTER''<num> YEAR''ALL'NULL
START_TIME用于计算指标的时间范围的起始点。默认值为当前时间前 60 天,每次调用该函数时都会计算。
有效值:
时间戳表达式或
NULL。END_TIME用于计算指标的时间范围的终点。默认值是当前时间,每次调用该函数时都会计算。
有效值:
时间戳表达式或
NULL。EXTRA_ARGSAdditional arguments for segment-specific queries. This parameter is optional - if not provided, the query returns metrics for all data (non-segment query).
Valid values: A string in JSON format specifying segment column and value pairs:
'{"SEGMENTS": [{"column": "<segment_column_name>", "value": "<segment_value>"}]}'备注
Currently, segment queries support only 1 segment column:value pair per query. You cannot query multiple segments simultaneously in a single function call.
For more information about segments, see ML 可观测性:随时间推移监控模型行为.
返回¶
列 |
描述 |
示例值 |
|---|---|---|
|
时间范围开始的时间戳。 |
|
|
指定时间范围内的指标值。 |
|
|
用于计算指标的记录数。 |
|
|
从指标计算中排除的记录数。 |
|
|
已计算的指标名称。 |
|
|
Name of the segment column for which the metric is computed (or NULL for non-segment queries). |
|
|
Segment value for which the metric is computed (or NULL for non-segment queries). |
|
使用说明¶
如果您为 model_monitor_name 指定的值区分大小写或包含特殊字符或空格,请将它们放在双引号里。您必须将双引号放在单引号里。例如,'"<example_model_monitor_name>"'。
如果您不使用双引号,则假定 model_monitor_name 不区分大小写。
To minimize potential impact from schema changes, update your queries to explicitly select only the necessary columns instead of using a wildcard (*).
一般要求¶
模型监视器必须与支持请求的指标类型的模型相关联。
模型监视器必须包含每个指标类型的必要数据,如下所述。
指标要求¶
以下是要获取回归指标所需的列:
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列中提供数据。
示例¶
以下示例从模型监视器获取一天期间的均方根误差 (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'))
)
以下示例从模型监视器获取过去 30 天的均方根误差 (RMSE):
SELECT * FROM TABLE(MODEL_MONITOR_PERFORMANCE_METRIC(
'MY_MONITOR', 'RMSE', '1 DAY', DATEADD('DAY', -30, CURRENT_DATE()), CURRENT_DATE())
)