数据是基于第三届阿里云磐久智维算法大赛,

官方地址:第三届阿里云磐久智维算法大赛赛题与数据-天池大赛-阿里云天池 (aliyun.com)

亚军方案gihub:AI-Competition/3rd_PanJiu_AIOps_Competition at main · yz-intelligence/AI-Competition · GitHub

本赛题提供了故障工单与日志数据,分析msg的结构,根据|可以将其分解。根据实际的业务场景,在故障发生的前后5/10/15/30分钟或更久产生的日志信息,都可能与此故障有关。

sn代表服务器序列号,故障工单中共有13700+个sn;

服务器型号server_model和服务器序列号sn是一对多的关系;

将msg经过TF-IDF编码,输入到线性模型中,使用eli5得出每个类别下,msg单词的贡献程度,权重越高表示区分该类别的贡献越大。

  • 0类和1类表示CPU相关故障,processor的权重都是最高的,且区分度不是很高;

  • 2类表示内存相关故障,权重较高的是memory、mem、ecc;

  • 3类表示其他类型故障,权重较高的是hdd、fpga、bus,可能是和硬件相关的故障。

主要步骤:数据预处理,特征工程,特征选择,模型训练,模型融合。

  1. 数据预处理:按照距离故障发生时间的间隔,将日志分成不同的时间区间;msg根据特殊符号进行标准化。

  2. 特征工程:主要构建关键词特征、时间差特征、TF-IDF词频统计特征、W2V特征、统计特征、New Data特征。

  3. 特征选择:对抗验证进行特征选择,保证训练和测试集的一致性,提高模型在测试集的泛化能力。

  4. 模型训练:CatBoost与LightGBM使用伪标签技术进行模型训练。

  5. 模型融合:CatBoost与LightGBM的预测结果以8:2进行加权融合得到最终的模型预测结果。

根据实际业务场景,故障发生之前可能会有预警日志产生,故障发生之后可能会产生日志风暴,对每一条故障工单数据,按照不同的时间切分构造新的日志数据,按照日志聚合之后构造统计特征。

特征工程

时间差特征

反映故障日志与正常日志发生的间隔。特征构造方法:

  • 获取日志时间和故障发生时间的时间差,结合sn, server_model 进行分组特征衍生。

  • 时间差的统计特征:[max, min, median, std, var, skw, sum, mode]

  • 时间差的分位数特征:[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]

  • 时间差差分: [max, min, median, std, var, skw, sum]

关键词特征

关键词对各类别的影响。构造关键词特征首先要找到关键词,两种方法确定关键词:

  • 方案1:msg 做TF-IDF编码,输入到线性模型中,计算每个类别下关键词的权重,取每个类别的TOP20。

  • 方案2:根据' | '对 msg 分词,统计每个类别的词频占比,取每个类别的TOP20。

  • 方法1与方法2取并集,得到最终的关键词。

  • 将每个关键词在msg中出现与否作为特征。

统计特征:根据类别特征分组构造统计特征,使类别特征隐藏的信息充分暴露出来。

  • 根据sn分组, server_mode统计特征:[count,nunique,freq,rank]

  • 根据sn分组,日志统计特征:msg, msg_0, msg_1, msg_2:[count,nunique,freq,rank]

W2V特征:反映msg的语义信息

  • 根据sn分组,按照时间对msg进行排序,对于每一个sn,将排序好的msg作为一个序列,提取embedding特征。

TFIDF特征

根据 fault_id(sn+fault_time)分组,根据fault_idmsg拼接作为一个序列,提取TF-IDF特征。

特征选择

特征选择环节主要是使用对抗验证进行特征选择,将训练集与测试集删除label重新打标,训练集为1,测试集为0,数据集合并进行模型训练计算AUC,如果AUC大于设定好的阈值,将特征重要性最高的特征删除,重新训练模型。直至AUC小于阈值。

在模型训练的时候,使用伪标签技术,具体是将A、B榜测试集的预测结果,选取置信度>0.85的样本作为可信样本,加入到训练集中,达到增大样本量的目的。

参考:

天池算法大赛项目:基于大规模日志的故障诊断亚军方案!

日志特征选择汇总(基于天池比赛)相关推荐

  1. 【机器学习】实战系列五——天文数据挖掘实验(天池比赛)

    系列文章目录 学习笔记: [机器学习]第一章--机器学习分类和性能度量 [机器学习]第二章--EM(期望最大化)算法 [机器学习]第六章--概率无向图模型 实战系列: [机器学习]实战系列一--波士顿 ...

  2. 姿态估计算法汇总|基于RGB、RGB-D以及点云数据

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨Tom Hardy@知乎 来源丨https://zhuanlan.zhihu.com/p/305 ...

  3. 阿里天池比赛——街景字符编码识别

    文章目录 前言 一.街景字符编码识别 1. 目标 2. 数据集 3. 指标 总结 前言 之前参加阿里天池比赛,好久了,一直没有时间整理,现在临近毕业,趁论文外审期间,赶紧把东西整理了,5月底学校就要让 ...

  4. 阿里天池比赛——地表建筑物识别

    阿里天池比赛--地表建筑物识别 记录一下之前参加的阿里天池比赛,方便以后查看. 策略: 1.多模型训练 2.多模型测试 3.数据增强 4.预训练/冻结训练 5.迁移学习 6.TTA 7.后处理 8.f ...

  5. 阿里天池比赛——食物声音识别

    阿里天池比赛--食物声音识别 最近写毕业论文无聊之余,再次参加阿里天池比赛,之前一直做CV,第一次尝试做语音识别,记录一下过程. 策略: 1.梅尔频谱和梅尔倒谱以及混合 2.多模型测试 想玩这个项目的 ...

  6. Docker提交天池比赛流程

    一.安装docker 天池大赛入门与docker实践课程: https://tianchi.aliyun.com/course/351 Ubuntu20.04安装docker: https://blo ...

  7. 天池比赛notebook

    天池比赛的链接文档说明 https://tianchi.aliyun.com/notebook/index.htm?spm=5176.9876270.5610778.14.31d1e44axRaA3f ...

  8. 天池比赛——用户情感可视化分析

    天池比赛--用户情感可视化分析 目录 天池比赛--用户情感可视化分析 前言 一.读取数据,查看基本情况并做数据预处理 引入相关库 读取数据,基础分析数据 空值处理,数据映射 对评论进行分词分析 二.词 ...

  9. 天池比赛——Docker基础镜像搭建,容器导出镜像

    天池Docker 文章目录 天池Docker 一. 通过基础的Dockerfile,只有python的镜像 二. 然后build构建镜像,再运行镜像进容器 三. 进入容器,安装环境 四. 退出容器, ...

最新文章

  1. python raw_input 与 input 的区别
  2. 在Ubuntu上编写一个开机自启动的Python脚本
  3. opencv 图像增强_图像增强、锐化,利用 Python-OpenCV 帮你实现 4 种方法!
  4. JWT令牌创建和解析讲解
  5. leetcode 543. 二叉树的直径(Java版)
  6. python图书管理系统增删改查_图书管理系统---增删改查
  7. 数据挖掘决策树python_机器学习之决策树ID3(python实现)
  8. BerryBoot实现树莓派多系统切换
  9. ios android 宏,iOS常用宏(不断更新)
  10. linux火狐浏览器50版本,firefox 52 下载-Firefox(火狐浏览器)52版下载 v52.0.2官方版--pc6下载站...
  11. 一二线城市知名 IT 互联网公司名单(新版)
  12. cwRsync实现windows server文件定时自动同步
  13. Crosses and Crosses POJ - 3537 (博弈)
  14. java使用密文链接数据库_Java基础——数据库连接信息使用密文
  15. 牛熊分界点?技术指标择时 在当前A股指数效果解密
  16. 谷歌,互联网界的“彩蛋狂魔”
  17. 网上查信用报告,什么是问题验证?
  18. 数字后端基本概念介绍——Pin Blockage
  19. PAT 1051 复数乘法
  20. 微信小程序(布局适配与物理逻辑像素)

热门文章

  1. 8.时间频度和时间复杂度
  2. 广州如何下载公积金的缴交证明和个人信息表
  3. 可修改UID的白卡,请问为什么一般读写器不能修改这种卡的UID,必须要特定的读写器才能修改?
  4. Python实现将位图描摹为彩色矢量 svg 图片的源代码,Python实现位图转彩色矢量代码
  5. 瞬态抑制二极管和esd静电管的区别
  6. sed删除代码空行和删去行尾空白
  7. 计算机组成原理---冯诺依曼体系结构及性能和功耗
  8. 高效率使用日历提醒事项备忘录便签,完成日程规划
  9. Python 字典:当索引不好用时
  10. AI-040: Python深度学习3 - 三个Karas实例-2