ML.IMPUTER 函数
本文档介绍 ML.IMPUTER
函数,此函数可让您替换字符串或数值表达式中的 NULL
值。对于字符串表达式,您可以将 NULL
值替换为最常用的值;对于数字表达式,可以替换为平均值或中位值。
在 TRANSFORM
子句中使用时,在训练期间计算的平均值、中间值和最常用的值会自动用于预测。
语法
ML.IMPUTER(expression, strategy) OVER()
参数
ML.IMPUTER
接受以下参数:
expression
:要插补的数值表达式或STRING
表达式。strategy
:指定如何替换NULL
值的STRING
值。有效值如下所示:mean
:expression
的平均值。此值只能用于数值表达式。median
:expression
的中位值。此值只能用于数值表达式。most_frequent
:expression
中最常用的值。
输出
ML.IMPUTER
返回 FLOAT64
(对于数值表达式)或 STRING
(对于字符串表达式)值,其中包含 NULL
值的替换值。
示例
示例 1
以下示例插补数值表达式:
SELECT f, ML.IMPUTER(f, 'mean') OVER () AS output FROM UNNEST([NULL, -3, -3, -3, 1, 2, 3, 4, 5]) AS f ORDER BY f;
输出类似于以下内容:
+------+--------+ | f | output | +------+--------+ | NULL | 0.75 | | -3 | -3.0 | | -3 | -3.0 | | -3 | -3.0 | | 1 | 1.0 | | 2 | 2.0 | | 3 | 3.0 | | 4 | 4.0 | | 5 | 5.0 | +------+--------+
示例 2
以下示例插补字符串表达式:
SELECT f, ML.IMPUTER(f, 'most_frequent') OVER () AS output FROM UNNEST([NULL, NULL, NULL, NULL, 'a', 'a', 'b', 'b', 'c', 'c', 'c']) AS f ORDER BY f;
输出类似于以下内容:
+------+--------+ | f | output | +------+--------+ | NULL | c | | NULL | c | | NULL | c | | NULL | c | | a | a | | a | a | | b | b | | b | b | | c | c | | c | c | | c | c | +------+--------+
后续步骤
- 如需了解特征预处理,请参阅特征预处理概览。
- 如需了解每种模型类型支持的 SQL 语句和函数,请参阅每个模型的端到端用户体验历程。