以下为《es机器学习测试》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
Es 机器学习测试
一、环境准备
Elasticsearch, Kibana, x-pack 安装配置。
二、开启授权,启用license白金功能
登录kibana,选择Stack Management/
点击“许可管理”
/
Update your license
更新结果如下:
/
三、测试用例
1、加载数据
解析成合适的字段,为字段设置?映射
数据集的组织方式
{
"line_id": INT,
"play_name": "String",
"speech_number": INT,
"line_number": "String",
"speaker": "String",
"text_entry": "String",
}
2、映射集制作
elasticsearch7默认不在支持指定索引类型,默认索引类型是_doc,如果想改变,则配置include_type_name: true 即可(这个没有测试,官方文档说的,无论是否可行,建议不要这么做,因为elasticsearch8后就不在提供该字段
{
"mappings": {
"properties": {
"speaker": {"type": "keyword"},
"play_name": {"type": "keyword"},
"line_id": {"type": "integer"},
"speech_number": {"type": "integer"}
}
}
}
3、制作脚本
#!/bin/bash
curl -XDELETE -u test:password123 node1:9200/shakespeare
curl -XPUT -u test:password123 node1:9200/shakespeare -H "Content-Type:application/json" --data-binary @shakespeare_mappings.json
curl -XPOST -u test:password123 node1:9200/shakespeare/_bulk?pretty -H "Content-Type:application/json" --data-binary @shakespeare_6.0.json
授权执行脚本,显示创建成功/
打开kibana,开发工具执行查询
/
下一步创建,Index pattern
/
根据引导直接下一步,数据集里没有时间字段,直接完成。
在菜单栏选择discover 选择创建的索引
/
/
/
看到shakespear的索引成功。
四、机器学习测试
1、 Single-metric jobs:
数据分析仅在一个索引字段上执行
异常检测只能使用基于时间的索引Patten
点击机器学习/异常检测/创建作业
/
/
选取标志指标字段
/
/
创建Job,查看结果
/
/
可以看出,经过一段时间的学习,它侦测出一个异常的情况
2、Multi-metric jobs:
可以对多个索引字段执行数据分析; 但是,每个字段都分别进行分析
选择多指标任务
/
选择使用完整的cf索引数据,这地方是检测可以使用全部的
/
在1处选取指标(可以多个),通过这些指标,我们很容易定位出问题所在的地方
/
在3处,选择 Split field,这个字段将自动被列入到 influencer 里。可以用来判断因为我们想在异常发生 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。
5.2 验证过程
进入开发工具,执行语句,通过 API 调用查看其 ID 和各种设置:
GET _ml/trained_models/cust*?human=true
human=true 参数作用将结果以人类可读的某种方式返回
/
通过如下的命令来查看这个模型的定义
GET _ml/trained_models/cutmize_job-***91?include=definition
/
通过修改值,验证模型数据预测概率
/
依据上面的 ML 模型推算,预测概率 prediction_probability 为1。说明这个客户极有可能流失。反之,不会
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《es机器学习测试》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。