Predict (DMX)

Predict 函数为指定列返回一个预测值或一组值。

语法

Predict(<scalar column reference>, [option1], [option2], [option n], [INCLUDE_NODE_ID], n)
Predict(<table column reference>, [option1], [option2], [option n], [INCLUDE_NODE_ID], n)

适用范围

标量列引用或表列引用。

返回类型

<scalar column reference>

或者

<table column reference>

返回类型取决于应用此函数的列的类型。

注意注意

INCLUSIVE、EXCLUSIVE、INPUT_ONLY 和 INCLUDE_STATISTICS 只适用于表列引用;EXCLUDE_NULL 和 INCLUDE_NULL 只适用于标量列引用。

注释

选项包括 EXCLUDE_NULL(默认值)、INCLUDE_NULL、INCLUSIVE、EXCLUSIVE(默认值)、INPUT_ONLY 和 INCLUDE_STATISTICS。

注意注意

对于时序模型,Predict 函数不支持 INCLUDE_STATISTICS。

INCLUDE_NODE_ID 参数在结果中返回 $NODEID 列。NODE_ID 是为特定事例而对其执行预测的内容节点。对表列使用 Predict 时,此参数是可选的。

n 参数适用于表列。该参数根据预测类型设置返回的行数。如果基础列是序列,则该参数将调用 PredictSequence 函数。如果基础列是时序,则该参数将调用 PredictTimeSeries 函数。对于关联类型的预测,该参数将调用 PredictAssociation 函数。

Predict 函数支持多态性。

下面的替代缩写形式较为常用:

  • [Gender] 用于替代 Predict([Gender], EXCLUDE_NULL)。

  • [Products Purchases] 用于替代 Predict([Products Purchases], EXCLUDE_NULL, EXCLUSIVE)。

    注意注意

    此函数的返回类型本身被视为列引用。也就是说,可将 Predict 函数用作以列引用作为参数的其他函数(Predict 函数本身除外)的参数。

将 INCLUDE_STATISTICS 传递给对表值列的预测时,将在生成的表中添加 $Probability 和 $Support 列。这些列说明了关联的嵌套表记录的存在概率。

示例

下面的示例使用 Predict 函数返回 Adventure Works 数据库中四种最可能一起销售的产品。因为该函数针对关联规则挖掘模型进行预测,因此它会自动使用 PredictAssociation 函数,如前所述。

SELECT
    Predict([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,4)
FROM     [Association]

示例结果:

虽然此查询返回的单个数据行 Expression 仅有一列,但该列包含下面的嵌套表。

Model

$SUPPORT

$PROBABILITY

$ADJUSTEDPROBABILITY

Sport-100

4334

0.291283016331743

0.252695851192499

Water Bottle

2866

0.192620471805901

0.175205052318795

Patch Kit

2113

0.142012232004839

0.132389356196586

Mountain Tire Tube

1992

0.133879965051415

0.125304947722259