- 类别:
MODEL_MONITOR_PERFORMANCE_METRIC¶
从 模型监视器 获取性能指标。每个模型监视器监控一个机器学习模型。
- 另请参阅:
有关更多信息,请参阅 查询监控结果。
语法¶
MODEL_MONITOR_PERFORMANCE_METRIC(<model_monitor_name>, <performance_metric_name>,
[, <granularity> [, <start_time> [, <end_time> ] ] ] )
实参¶
必填:
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
。
返回¶
列 |
描述 |
示例值 |
---|---|---|
|
时间范围开始的时间戳。 |
|
|
指定时间范围内的指标值。 |
|
|
用于计算指标的记录数。 |
|
|
从指标计算中排除的记录数。 |
|
|
已计算的指标名称。 |
|
|
Name of the segment column used in the metric calculation. |
|
|
计算指标的分段的值。 |
|
使用说明¶
如果您为 model_monitor_name
指定的值区分大小写或包含特殊字符或空格,请将它们放在双引号里。您必须将双引号放在单引号里。例如,'"<example_model_monitor_name>"'
。
如果您不使用双引号,则假定 model_monitor_name
不区分大小写。
为更大限度地减少架构变更的潜在影响,请更新您的查询,仅明确选择必要的列,而不是使用通配符 (*)。
一般要求¶
模型监视器必须与支持请求的指标类型的模型相关联。
模型监视器必须包含每个指标类型的必要数据,如下所述。
指标要求¶
以下是要获取回归指标所需的列:
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())
)