basket 插件

basket 插件在数据中查找频繁出现的属性模式,并返回在该数据中传递频率阈值的模式。 模式表示在一个或多个列中具有相同值的一部分行。 basket 插件基于最初为篮分析数据挖掘而开发的 Apriori 算法

语法

T | evaluatebasket([ Threshold,WeightColumn,MaxDimensions,CustomWildcard,CustomWildcard, ... ])

详细了解语法约定

参数

客户 类型​​ 必需 说明
阈值 long 0.015 到 1 范围内的 double,用于设置被视为频繁的行最小比率。 不会返回比率更小的模式。 默认值为 0.05。 若要使用默认值,请输入波形符:~

示例: T | evaluate basket(0.02)
WeightColumn string 列名,用于根据指定的权重考虑输入中的每一行。 必须是数字类型列的名称,例如 intlongreal。 默认情况下,每一行的权重都是 1。 若要使用默认值,请输入波形符:~。 权重列的常见用法是对已嵌入每一行的数据进行采样或存储/聚合。

示例: T | evaluate basket('~', sample_Count)
MaxDimensions int 设置默认情况下受限制的每个 basket 不相关维度的最大数量,以最大程度地减少查询运行时。 默认值为 5。 若要使用默认值,请输入波形符:~

示例: T | evaluate basket('~', '~', 3)
CustomWildcard string 为结果表中的特定类型设置通配符,表明当前模式对此列没有任何限制。 默认设置为 null,默认值为空字符串的字符串列除外。 如果默认值是可行数据值,应使用其他通配符值,例如 *。 若要使用默认值,请输入波形符:~

示例: T | evaluate basket('~', '~', '~', '*', int(-1), double(-1), long(0), datetime(1900-1-1))

注意

若要指定一个跟在可选参数之后的可选参数,请确保为前面的可选参数提供一个值。 有关详细信息,请参阅使用可选参数

返回

basket 插件返回传递比率阈值的频繁出现的模式。 默认阈值为 0.05。

每种模式均由结果中的一行表示。 第一列是段 ID。 接下来的两列是来自与模式匹配的原始查询的计数和行百分比。 其余列与原始查询相关,其值是来自该列的特定值或表示变量值的通配符值(默认为 null)。

注意

该算法使用采样来确定初始的频繁出现的值。 因此,对于频率接近阈值的模式,多次运行的结果可能略有不同。

示例

StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , "YES" , "NO")
| project State, EventType, Damage, DamageCrops
| evaluate basket(0.2)

输出

段 ID 计数 百分比 状态 EventType 损害 损害农作物
0 4574 77.7 0
1 2278 38.7 冰雹 0
2 5675 96.4 0
3 2371 40.3 冰雹 0
4 1279 21.7 雷雨大风 0
5 2468 41.9 冰雹
6 1310 22.3
7 1291 21.9 雷雨大风

使用自定义通配符的示例

StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , "YES" , "NO")
| project State, EventType, Damage, DamageCrops
| evaluate basket(0.2, '~', '~', '*', int(-1))

输出

段 ID 计数 百分比 状态 EventType 损害 损害农作物
0 4574 77.7 * * 0
1 2278 38.7 * 冰雹 0
2 5675 96.4 * * * 0
3 2371 40.3 * 冰雹 * 0
4 1279 21.7 * 雷雨大风 * 0
5 2468 41.9 * 冰雹 * -1
6 1310 22.3 * * -1
7 1291 21.9 * 雷雨大风 * -1