ML.ROBUST_SCALER 函数
本文档介绍 ML.ROBUST_SCALER
函数,此函数可让您使用能够可靠处理离群值的统计信息来缩放数值表达式。它通过移除中位值并根据分位数范围缩放数据来执行缩放。
在 TRANSFORM
子句中使用时,训练期间计算的中间值和分位数范围将自动用于预测。
语法
ML.ROBUST_SCALER(numerical_expression [, quantile_range] [, with_median] [, with_quantile_range]) OVER()
参数
ML.ROBUST_SCALER
采用以下参数:
numerical_expression
:要缩放的数值表达式。quantile_range
:包含两个INT64
元素的数组,指定分位数范围。第一个元素提供范围的下边界,必须大于0
。第二个元素提供范围的上边界,必须大于第一个元素,但小于100
。默认值为[25, 75]
。with_median
:指定数据是否居中的BOOL
值。如果为TRUE
,函数会在缩放之前移除中位值,以将数据居中。默认值为TRUE
。with_quantile_range
:指定数据是否缩放到分位数范围的BOOL
值。如果为TRUE
,函数会缩放数据。默认值为TRUE
。
输出
ML.ROBUST_SCALER
会返回一个 FLOAT64
值,它表示缩放后的数值表达式。
示例
以下示例将一组数值表达式居中,然后将其缩放到范围 [25, 75]
:
SELECT f, ML.ROBUST_SCALER(f) OVER () AS output FROM UNNEST([NULL, -3, 1, 2, 3, 4, 5]) AS f ORDER BY f;
输出类似于以下内容:
+------+---------------------+ | f | output | +------+---------------------+ | NULL | NULL | | -3 | -1.6666666666666667 | | 1 | -0.3333333333333333 | | 2 | 0.0 | | 3 | 0.3333333333333333 | | 4 | 0.6666666666666666 | | 5 | 1.0 | +------+---------------------+
后续步骤
- 如需了解特征预处理,请参阅特征预处理概览。
- 如需了解每种模型类型支持的 SQL 语句和函数,请参阅每个模型的端到端用户体验历程。