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

本文基于第三届阿里云磐久智维算法大赛,分析故障工单与日志数据。主要步骤包括数据预处理、特征工程、特征选择、模型训练和模型融合。通过TF - IDF编码、伪标签技术等方法,对日志数据进行处理和分析,最终将CatBoost与LightGBM预测结果加权融合得到最终预测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

官方地址:第三届阿里云磐久智维算法大赛赛题与数据-天池大赛-阿里云天池 (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的样本作为可信样本,加入到训练集中,达到增大样本量的目的。

参考:

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

### 国内AI技术与ChatGPT的性能、应用场景及优劣势对比 #### 性能对比 在国内市场中,以文心一言为代表的国产大模型,在处理中文语境下的任务时展现出独特的优势。这些模型经过大量本土化数据训练,对于中国文化的理解表达更为精准[^3]。 相比之下,ChatGPT凭借其庞大的多语言语料库以及先进的算法架构,在全球范围内提供了高质量的语言生成能力。特别是在跨文化沟通场景下,ChatGPT能够较好地适应不同国家地区用户的交流需求[^2]。 #### 应用场景分析 国内开发的人工智能产品往往更注重本地特色功能服务集成。例如,在教育领域推出的个性化学习方案;医疗健康方面实现远程诊疗支持等功能模块都体现了这一点。此外,针对特定行业定制化的解决方案也逐渐成为主流趋势之一。 而国际市场上广泛应用的ChatGPT则更多聚焦于通用型对话系统构建,旨在满足各类用户日常聊天互动所需的同时探索商业价值最大化路径。通过不断优化用户体验来吸引更多付费订阅者或是广告客户等合作伙伴加入生态系统之中[^1]。 #### 优势与挑战 - **国内AI** - **优势**: 更贴近本国国情社会热点话题的理解力强;具备丰富的垂直领域专业知识积累。 - **挑战**: 面临着如何进一步提升技术创新水平以追赶甚至超越国外同行的压力;还需解决好隐私保护等问题确保公众信任感建立稳固基础之上发展业务模式创新。 - **ChatGPT** - **优势**: 支持多种语言之间的无缝切换操作体验良好;拥有强大的社区反馈机制有助于快速迭代改进产品质量。 - **挑战**: 存在对AI技术访问不平等问题可能导致部分人群被排除在外享受不到科技进步带来的便利;另外由于缺乏足够的外部知识源接入使得某些情况下给出的回答不够全面深入。 ```python # Python代码示例用于展示两种AI平台调用方式的不同之处 import requests def call_domestic_ai_api(prompt): response = requests.post('https://api.domesticai.com/v1/generate', json={'prompt': prompt}) return response.json()['text'] def call_chatgpt_api(prompt): headers = {'Authorization': 'Bearer YOUR_API_KEY'} data = {"model": "text-davinci-003", "prompt": prompt, "max_tokens": 50} response = requests.post('https://api.openai.com/v1/engines/davinci-codex/completions', headers=headers, json=data) return response.json()['choices'][0]['text'] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值