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 |