Elastic:机器学习的实践 - population job

在以下情况下,数据中的实体或事件可以被认为是异常的:

  • 他们的行为会随着时间而变化,相对于他们以前的行为,还是
  • 它们的行为不同于指定群体中的其他实体。

Elastic:机器学习的实践 - population job_第1张图片

在之前的文章:

  • Elastic:机器学习的实践 - single metric job

  • Elastic:机器学习的实践 - multi metric job

我们已经展示了如何检测上面的第一种情况。后一种检测异常值的方法称为 population 分析,也就是群体分析。机器学习分析可建立 “典型” 用户,机器或其他实体在指定时间段内所做的工作的概况,然后识别与其它群体相比表现异常的时候。

当总体上各个群体的行为大多是同质的,并且你想要识别异常值时,这种类型的分析最有用。通常,当群体成员内在地具有截然不同的行为时,群体分析是没有用的。但是,你可以将数据分成行为相似的组,并将其作为单独的作业运行。例如,你可以在 datafeed 中使用查询过滤器对数据进行细分,也可以使用 partition_field_name 拆分不同组的分析。

群体分析的伸缩性很好,并且消耗的资源比每个系列的单独分析都低。例如,你可以分析数十万或数百万个实体的群体。

下面,我们使用它在上一个例子 “Elastic:机器学习的实践 - multi metric job” 所使用的数据来做一个展示。如果你还没导入数据,请参阅那篇文章,把数据导入进去。

 

创建 population job

打开 Kibana:

Elastic:机器学习的实践 - population job_第2张图片

点击 Manage jobs:

Elastic:机器学习的实践 - population job_第3张图片

点击  Create job:

Elastic:机器学习的实践 - population job_第4张图片

选中 eCommerce 索引:

Elastic:机器学习的实践 - population job_第5张图片

选中 Population:

Elastic:机器学习的实践 - population job_第6张图片

点击 Next:

Elastic:机器学习的实践 - population job_第7张图片

这一次,我们选择 category.keyword 作为 population 字段,同时选择 High sum(taxful_total_price) 作为指标分析。点击 Next:

Elastic:机器学习的实践 - population job_第8张图片

我们取一个好听的名字 population_job。点击 Next 按钮:

Elastic:机器学习的实践 - population job_第9张图片

上面显示检查没有错误。点击 Next 按钮:

Elastic:机器学习的实践 - population job_第10张图片

点击 Create job 按钮:

Elastic:机器学习的实践 - population job_第11张图片

相比较之前的 single metric job 及 multi metric job,我们发现这次的机器学习计算时间非常短,也印证了它所消耗的资源不多。点击上面的 View results 按钮:

Elastic:机器学习的实践 - population job_第12张图片

如上所示,我们可以发现一个异常,是针对 Men's Clothing 的这个 category。我们向下滚动:
 

Elastic:机器学习的实践 - population job_第13张图片

点击那个红色标识的异常事件:

Elastic:机器学习的实践 - population job_第14张图片

上面显示这个 Men's Clothing 类的商品和如下的其它类的商品比较:

Elastic:机器学习的实践 - population job_第15张图片

存在异常,按照机器学习的计算(相比较其它类商品,在同一个 bucket span里),taxful_total_price 的值应该在 67.8,但是实际值在 2250。细心的分析师需要分析这个数据,是因为父亲节到了的缘故吗?还是因为最近在男装上投入了大量的广告所致?

好了,今天的文章先写到这里。请接下来继续关注我的机器学习的文章。

你可能感兴趣的:(Elastic,elasticsearch,大数据)