手动特征预处理

您可以将 CREATE MODEL 语句的 TRANSFORM 子句与手动预处理函数结合使用来定义自定义数据预处理。您还可以在 TRANSFORM 子句之外使用这些手动预处理函数。

如果您要将数据预处理与模型训练分离,您可以使用 TRANSFORM 子句创建一个仅执行数据转换的仅限转换的模型

您可以使用 ML.TRANSFORM 函数来提高特征预处理的透明度。借助此函数,您可以从模型的 TRANSFORM 子句返回预处理的数据,以便查看进入模型训练阶段的实际训练数据,以及进入模型服务阶段的实际预测数据。

如需了解 BigQuery ML 中的特征预处理支持,请参阅特征预处理概览

如需了解每种模型类型支持的 SQL 语句和函数,请参阅每个模型的端到端用户体验历程

预处理函数的类型

手动预处理函数有多种类型:

  • 标量函数处理单个行,例如 ML.BUCKETIZE
  • 表值函数对所有行运行,并输出一个表。例如 ML.FEATURES_AT_TIME
  • 分析函数处理所有行,并根据所有行中收集的统计信息输出每行的结果。例如 ML.QUANTILE_BUCKETIZE

    您必须始终将空的 OVER() 子句与机器学习分析函数搭配使用。

    如果您在训练期间在 TRANSFORM 子句中使用机器学习分析函数,系统会自动对预测中的输入应用相同的统计信息。

以下部分介绍了可用的预处理函数。

常规函数

您可以对字符串表达式或数值表达式使用以下函数,以进行数据清理:

数值函数

对数值表达式使用以下函数,以将数据标准化:

分类函数

使用以下函数对分类数据进行操作:

文本函数

对文本字符串表达式使用以下函数:

图片函数

对图片数据使用以下函数:

已知限制