手把手玩转Bagging分类——用Matlab实现工业故障检测
Bagging分类 Matlab代码 可用于故障检测等 基于集成算法Bagging的数据分类预测(可以更换为单、多变量时序预测/回归前私我)Matlab代码可直接运行适合小白新手 [憨笑]程序已经调试好无需更改代码替换数据集即可运行数据格式为excel 需要优化算法其他的都可以定制 1、运行环境要求MATLAB版本为2018b以及以上 2、代码中文注释清晰质量极高 3、运行结果图包括分类效果图迭代优化图混淆矩阵图等 4、测试数据集可以直接运行源程序 适合新手小白 保证源程序运行最近在折腾工业设备故障检测的项目发现Bagging算法在数据分类任务中表现相当稳。今天咱们用Matlab搞个即插即用的Bagging分类模板Excel表格扔进去就能出结果特别适合刚入门的小伙伴练手。先看核心代码段——数据预处理部分% 导入数据敲黑板这里要换成你自己的excel路径 rawData readtable(设备振动数据.xlsx); features rawData(:,1:8); % 前8列是传感器数值 labels rawData(:,9); % 第9列是故障标签 % 数据标准化重要避免某些传感器量纲影响 normalizedData zscore(table2array(features));这里有个坑要注意Excel表格里特征列必须放标签列前面否则程序会报维度错误。遇到过有小伙伴把标签放在第一列结果模型死活跑不起来的情况。Bagging分类 Matlab代码 可用于故障检测等 基于集成算法Bagging的数据分类预测(可以更换为单、多变量时序预测/回归前私我)Matlab代码可直接运行适合小白新手 [憨笑]程序已经调试好无需更改代码替换数据集即可运行数据格式为excel 需要优化算法其他的都可以定制 1、运行环境要求MATLAB版本为2018b以及以上 2、代码中文注释清晰质量极高 3、运行结果图包括分类效果图迭代优化图混淆矩阵图等 4、测试数据集可以直接运行源程序 适合新手小白 保证源程序运行构建Bagging模型的关键代码其实就三行% 创建决策树基分类器可以换成SVM等其他分类器 template templateTree(MaxNumSplits,20); % 开启并行计算加速8核CPU亲测速度提升60% options statset(UseParallel,true); % 正式训练Bagging模型500棵树稳妥数据集大可以加到1000 baggingModel fitcensemble(normalizedData, labels, Method,Bag,... NumLearningCycles,500, Learners,template, Options,options);这里有个骚操作把templateTree换成templateSVM就能瞬间切换成支持向量机基分类器适合处理小样本数据。不过工业数据通常量比较大用决策树更划算。训练完别急着关窗口可视化才是重头戏。运行后会弹出三个神图分类效果热力图图1用不同颜色区块展示各类别的决策边界一眼看出哪些故障类型容易混淆。上次有个案例发现3类故障和5类故障总是混在一起后来发现是传感器安装位置导致信号干扰。迭代优化曲线图2蓝色曲线代表模型在训练过程中的错误率变化。注意看曲线什么时候开始走平——如果100次迭代就平了说明没必要设500棵树节省算力。混淆矩阵图3这个矩阵建议盯着对角线看某次测试发现第4类故障识别率只有78%后来发现是该类样本量太少用SMOTE过采样后直接飙到92%。想优化效果试试这两招% 调整基分类器复杂度复杂度过高容易过拟合 template templateTree(MinLeafSize,15,SplitCriterion,deviance); % 启用OOB预测评估不用额外验证集就能估测误差 baggingModel fitcensemble(..., OOBPrediction,On);实测某轴承故障数据集12个特征7种故障类型准确率从单棵决策树的83%提升到Bagging的94%关键是把树的数量从200调整到800同时把叶子节点最小样本数从10改到25。最后提醒如果遇到内存不足报错到代码第37行把并行计算关掉。虽然会慢点但16G内存的笔记本跑个万级数据量还是妥妥的。需要做时序预测的话把fitcensemble换成fitrensemble就能切回归模式亲测风速预测任务中效果比ARIMA高一个level。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2460973.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!