ai_predict_value 函数

适用于:勾选标记为是 Databricks SQL 勾选为 Databricks 运行时 19.3 及以上版本

Important

此功能在 Beta 版中。 要使用它,工作区管理员必须在预览页面开启预测AI功能。 请参阅 Manage Azure Databricks 预览版。

ai_predict_value() 从目标列不 NULL 在的行训练回归模型,并预测目标列所在行的目标 NULL。 该函数只返回其得分的行,并在输入列后附加预测列。

要求

  • 一个专业版或无服务器的SQL仓库,或者运行Databricks Runtime 19.3及以上版本的集群
  • 在 预测AI功能 预览中注册您的工作区。 请参阅 Manage Azure Databricks 预览版。

Syntax

ai_predict_value(
  input => TABLE(input),
  target_col => target_col,
  feature_cols => feature_cols
  [, seed => seed]
)

Arguments

按名称传递所有标量参数。 你可以用名字或位置传球 input 。

  • input 是包含训练行和评分行的表值输入。 目标列不在的行则无法 NULL 训练模型。 目标列所在 NULL 的行会被评分。
  • target_col 是指定数值目标列的常数 STRING 。 该列必须是顶层列,且不得出现在 feature_cols。
  • feature_cols 是一个非空常量 ARRAY<STRING> ,命名特征列。 每个特征必须是顶层数字列、布尔列或字符串列。
  • seed (可选)是一个整数值,用于初始化模型训练中使用的伪随机操作。 默认值为 0。

Returns

该函数返回一个包含输入行的表,其中目标列为 NULL。 输出保留所有输入列,并作为 <target_col>_prediction 附加为 DOUBLE。

如果没有输入行有 NULL 目标,函数返回一个空表。

Example

以下示例对已知收入行进行训练,并预测缺少收入的门店收入:

WITH sales AS (
  SELECT * FROM VALUES
    (1, 10.0, 'east', 120.0),
    (2, 12.0, 'east', 135.0),
    (3, 15.0, 'west', 160.0),
    (4, 18.0, 'west', 190.0),
    (5, 20.0, 'east', 205.0),
    (6, 24.0, 'west', 240.0),
    (7, 16.0, 'east', NULL),
    (8, 22.0, 'west', NULL)
  AS sales(store_id, advertising_spend, region, revenue)
)
SELECT store_id, revenue_prediction
FROM ai_predict_value(
  input => TABLE(sales),
  target_col => 'revenue',
  feature_cols => ARRAY('advertising_spend', 'region'),
  seed => 42
)
ORDER BY store_id;

局限性

  • 每个调用支持一个目标列,并训练一个新的模型。 该函数不会持久化模型以便重复使用。
  • 目标列和特征列必须是顶层列。 不支持嵌套字段。
  • 输入必须至少包含一行非NULL 目标。
  • 输入中必须不包含名为 <target_col>_prediction的列。

错误条件

关于无效的列、类型或参数,请参见 错误条件AI_PREDICT_INVALID_PARAMETER。 关于训练数据不足,请参见 错误条件AI_PREDICT_INSUFFICIENT_TRAINING_DATA。

要预测类标签,请使用 ai_predict_class 函数。 关于其他AI函数,请参见 “使用AI函数转换非结构化数据”。