Elastic:机器学习的实践 - multi metric job-阿里云开发者社区

开发者社区> Elasticsearch 技术团队> 正文
登录阅读全文

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

简介: Kibana 中的 multi metric job 向导提供了一种使用多个检测器创建更复杂作业的简单方法。例如,在单个度量标准作业中,你正在跟踪总请求与时间的关系。你可能还希望跟踪其他指标,例如平均响应时间或拒绝请求的最大数量。你可以为多个指标作业合并它们,而不是为每个指标创建作业。

这篇文章是之前文章 “机器学习的实践 - single metric job” 的续篇。如果你对 Elastic 的机器学习还是不太了解的话,请参阅之前的文章,并配置好自己的 Elasticsearch 机器。机器学习需要白金版许可。在今天的文章中,我将详细介绍如何使用机器学习创建一个 multi metric job。

文本作者:刘晓国,Elastic 公司社区布道师。新加坡国立大学硕士,西北工业大学硕士,曾就职于新加坡科技,康柏电脑,通用汽车,爱立信,诺基亚,Linaro,Ubuntu,Vantiq 等企业。

如果你想一站式快速体验 Elasticsearch 所有功能(免费提供机器学习、 X-pack 能力),开通 阿里云 Elasticsearch 1核2G,即可首月免费试用。

Kibana 中的 multi metric job 向导提供了一种使用多个检测器创建更复杂作业的简单方法。例如,在单个度量标准作业中,你正在跟踪总请求与时间的关系。你可能还希望跟踪其他指标,例如平均响应时间或拒绝请求的最大数量。你可以为多个指标作业合并它们,而不是为每个指标创建作业。

你还可以使用多指标作业,根据分类字段将单个时间序列拆分为多个时间序列。例如,你可以根据数据的主机名,位置或用户拆分数据。每个时间序列都是独立建模的。通过在每个实体的基础上查看时间模式,你可能会发现本来可以隐藏在集中视图中的事物。

从概念上讲,你可以将其视为运行许多独立的单指标作业。但是,通过将它们捆绑在一个多指标作业中,你可以看到该作业中所有指标和所有实体的总体得分和共享影响者。因此,多指标作业比具有许多独立的单个指标作业更好地扩展,并且当影响者在探测器之间共享时,可以提供更好的结果。

准备数据

在今天的练习中,我们将使用 Elastic 自带的索引 eCommerce 来做。打开 Kibana:

image.png

image.png

点击上面的 Add data 按钮,这样,我们就完成了数据的导入:

image.png

我们在 Elasticsearch 中可以发现一个叫做 kibana_sample_data_ecommerce 的索引

image.png

创建 机器学习 multi metric job

打开机器学习应用:

image.png

点击 Manage jobs:

image.png

点击 Create job:

image.png

选择 kibana_sample_data_ecommerce 索引:

image.png

在这里,我们选择 Multi metric。正如上面描述的那样,multi metric 通过按类别字段划分时间序列来检测多指标中的异常。

image.png

我们选择使用整个索引的数据。点击 Next 按钮:

image.png

我们选择 High sum(taxful_total_price):

image.png

接下来,我们把分析通过 customer_full_name 来进行分别分析。同时,我们也选择 customer_full_name 及 category 来查看我们选择的这些 influencer 有多少是对我们的结果有影响的,影响的程度是什么样的。

点击上面的 Next 按钮:

image.png

我们把这个机器学习的任务取一个名字叫做 multi_metric_job。点击 Next 按钮:

image.png

上面显示,我们的创建是成功的。点击 Next 按钮:

image.png

在上面,我们可以看出来针对每个客户进行分析。点击 Create job 按钮:

image.png

等机器学习完成之后,我们点击 View results 按钮:

image.png

在上面,我们看出来一些异常。在上面,我们可以看到一些蓝色和黄色的长方形块。按照我们之前的描述:

Warning (blue): 分数低于25
Minor (yellow): 分数介于25和50之间
Major (orange): 分数介于50和75之间
Critical (red): 分数介于75和100之间

在上面,它显示了整个客户的异常情况,在下面也分别分析了各个客户的异常情况。

我们也可以按照之前选择的 category influencer 来查看每个 category 的影响:

image.png


我们的异常蓝色表示异常分数低于25分,而黄色的异常分数介于25-50之间。是 Warning 和 Minor 级别的异常。

image.png

向下滚动,我们可以查看异常的详细情况。点击 July 5th 2020 那个异常:

image.png

上面标明,这个叫做 Stephanie Baker 的客户,按照正常的分析,他会在 July 5th, 2020 会花钱 0.152,可是他事实上什么也没有花。这个和他的平常的习惯不一样。是有什么事情发生吗?

在左边,我们可以查看到 top 10 的 influencer:

image.png


因为这个是一个 multi metric job,我们也可以把它分解成为每一个 single metric job 那样进行查看:

image.png

点击 Single Metric Viewer:

image.png

image.png

好了,今天就先展示到这里。希望通过这个练习大家知道如何通过机器学习来分析数据的异常。

声明:
本文版权归作者所有,未经许可不得擅自转载或引用。


image.png

阿里云Elastic Stack】100%兼容开源ES,独有9大能力,提供免费 X-pack服务(单节点价值$6000)

相关活动


更多折扣活动,请访问阿里云 Elasticsearch 官网

阿里云 Elasticsearch 商业通用版,1核2G ,SSD 20G首月免费
阿里云 Logstash 2核4G首月免费
下载白皮书:Elasticsearch 八大经典场景应用


image.png

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

Elasticsearch 作为一个分布式、高扩展、实时的搜索与数据分析引擎,因其轻量级、稳定、可靠、快速等特性受到越来越多开发者的青睐,在搜索、日志分析、运维监控和安全分析等领域得到广泛应用。

官方博客
友情链接