附录 N:稀有函数
编辑附录 N:稀有函数
编辑稀有函数检测在时间上或在总体中很少出现的值。
rare
分析根据不同的稀有值的数量检测异常。这与 freq_rare
不同,后者根据稀有值出现的次数(频率)检测异常。
rare
和freq_rare
函数不应与exclude_frequent
结合使用。- 您无法为包含
rare
或freq_rare
函数的异常检测作业创建预测。 - 您无法将带有条件的规则添加到使用
rare
或freq_rare
函数的检测器。 - 在查找稀有事件时,建议使用较短的存储桶跨度(例如,小于 1 小时)。这些函数会建模是否在存储桶中至少发生一次事件。使用较长的存储桶跨度,实体更有可能在存储桶中被看到,因此它们显得不那么稀有。选择理想的存储桶跨度取决于数据的特征,较短的存储桶跨度通常以分钟而不是小时来衡量。
- 为了对稀有数据进行建模,典型数据需要至少 20 个存储桶的学习期。
机器学习功能包括以下稀有函数
稀有
编辑rare
函数检测在时间上或在总体中很少出现的值。它根据不同的稀有值的数量检测异常。
此函数支持以下属性
-
by_field_name
(必需) -
over_field_name
(可选) -
partition_field_name
(可选)
有关这些属性的更多信息,请参阅创建异常检测作业 API。
示例 1:使用 rare 函数分析状态代码。
{ "function" : "rare", "by_field_name" : "status" }
如果在异常检测作业的检测器中使用此 rare
函数,它会检测在时间上稀有的值。它会建模随时间发生的状态代码,并检测与过去相比何时出现稀有状态代码。例如,您可以检测 Web 访问日志中以前从未(或很少)发生过的状态代码。
示例 2:使用 rare 函数分析总体中的状态代码。
{ "function" : "rare", "by_field_name" : "status", "over_field_name" : "clientip" }
如果在异常检测作业的检测器中使用此 rare
函数,它会检测在总体中稀有的值。它会建模发生的状态代码和客户端 IP 交互。它将稀有状态代码定义为与总体相比,很少有客户端 IP 值发生的状态代码。它会检测与总体相比,经历一个或多个不同稀有状态代码的客户端 IP 值。例如,在 Web 访问日志中,与总体相比,经历不同稀有状态代码数量最多的 clientip
被认为是高度异常的。此分析基于不同的状态代码值的数量,而不是出现次数。
要将状态代码定义为稀有,机器学习功能会查看发生的不同状态代码的数量,而不是状态代码发生的次数。如果单个客户端 IP 经历单个唯一状态代码,则这是稀有的,即使它在每个存储桶中都为该客户端 IP 发生也是如此。
Freq_rare
编辑freq_rare
函数检测在总体中很少出现的值。它根据稀有值出现的次数(频率)检测异常。
此函数支持以下属性
-
by_field_name
(必需) -
over_field_name
(必需) -
partition_field_name
(可选)
有关这些属性的更多信息,请参阅创建异常检测作业 API。
示例 3:使用 freq_rare 函数分析总体中的 URI 值。
{ "function" : "freq_rare", "by_field_name" : "uri", "over_field_name" : "clientip" }
如果在异常检测作业的检测器中使用此 freq_rare
函数,它会检测在总体中频繁稀有的值。它会建模发生的 URI 路径和客户端 IP 交互。它将稀有 URI 路径定义为与总体相比,很少有客户端 IP 值访问的 URI 路径。它会检测与总体相比,与稀有 URI 路径发生许多交互的客户端 IP 值。例如,在 Web 访问日志中,与总体相比,多次访问一个或多个稀有 URI 路径的客户端 IP 被认为是高度异常的。此分析基于与稀有 URI 路径的交互次数,而不是不同 URI 路径值的数量。
将 URI 路径定义为稀有与您在上面的状态代码案例中看到的方式相同:分析考虑发生的不同值的数量,而不是 URI 路径发生的次数。如果单个客户端 IP 访问单个唯一 URI 路径,则这是稀有的,即使它在每个存储桶中都为该客户端 IP 发生也是如此。