autocluster 插件
适用于:✅Azure 数据资源管理器
autocluster
在数据中查找离散属性(维度)的常见模式。 然后,它将原始查询的结果(无论是 100 行还是 100,000 行)减少到少量模式。 开发该插件的目的是为了帮助分析故障(如异常或崩溃),但该插件也有可能用于处理任何筛选出的数据集。 该插件通过 evaluate
运算符调用。
注意
autocluster
主要基于以下文章中的 Seed-Expand 算法:使用离散属性的遥测数据挖掘算法。
语法
T |
evaluate
autocluster
(
[SizeWeight [,
WeightColumn [,
NumSeeds [,
CustomWildcard [,
... ]]]]])
详细了解语法约定。
参数
参数必须按语法中指定的顺序排序。 若要指示应使用默认值,请放置字符串波形值 ~
。 有关详细信息,请参阅示例。
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
T | string |
✔️ | 输入表格表达式。 |
SizeWeight | double | 一个介于 0 和 1 之间的双精度值,用于控制泛型值(高覆盖率)和信息性(许多共享)值之间的平衡。 增加此值通常会减少模式的数量,同时扩大覆盖范围。 相反,减少此值会生成更具体的模式,这些模式的特点是共享值增加,覆盖百分比较小。 默认为 0.5 。 公式是加权几何平均值,权重为 SizeWeight 和 1-SizeWeight 。 |
|
WeightColumn | string |
根据指定的权重考虑输入中的每一行。 每行的默认权重为 1 。 此参数必须是数字整数列的名称。 权重列的常见用法是考虑对已嵌入每一行的数据进行采样、存储或聚合。 |
|
NumSeeds | int |
确定初始本地搜索点的数量。 根据数据结构调整种子会影响结果数量或质量。 增加种子可以增强结果,但查询速度会相应较慢。 减少到 5 以下产生的改进可以忽略不计,而增加到 50 以上很少会产生更多模式。 默认为 25 。 |
|
CustomWildcard | string |
一个类型文本,用于设置结果表中特定类型的通配符值,用于指示对此列没有限制。 默认值为 null ,这表示空字符串。 如果默认值是可行数据值,应使用其他通配符值,例如 * 。 可以通过连续添加它们来包含多个自定义通配符。 |
返回
autocluster
插件通常会返回一小组模式。 这些模式在多个离散属性间捕获具有共享常见值的数据部分。 结果中的每种模式均由一行表示。
第一列是段 ID。 后两列是此模式从原始查询外所捕获行的数量和百分比。 其余列均来自原始查询。 它们的值是来自列中的特定值,或者是表示变量值的通配符值(默认为 null)。
这些模式并不是截然不同的,有可能会重叠,且通常不包括所有原始行。 某些行可能不属于任何模式。
示例
使用 evaluate
T | evaluate autocluster()
使用 autocluster
StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , "YES" , "NO")
| project State , EventType , Damage
| evaluate autocluster(0.6)
输出
段 ID | 计数 | 百分比 | 状态 | EventType | 损害 |
---|---|---|---|---|---|
0 | 2278 | 38.7 | 冰雹 | 是 | |
1 | 512 | 8.7 | 雷雨大风 | YES | |
2 | 898 | 15.3 | 德克萨斯 |
使用自定义通配符
StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , "YES" , "NO")
| project State , EventType , Damage
| evaluate autocluster(0.2, '~', '~', '*')
输出
段 ID | 计数 | 百分比 | 状态 | EventType | 损害 |
---|---|---|---|---|---|
0 | 2278 | 38.7 | * | 冰雹 | 是 |
1 | 512 | 8.7 | * | 雷雨大风 | YES |
2 | 898 | 15.3 | 德克萨斯 | * | * |