凯斯西储大学轴承故障数据

一、项目简介

本文主要介绍如何使用python搭建:一个基于深度学习的滚动轴承故障诊断系统

项目中涉及使用了多种方法对比检测结果,包括:

传统机器学习方法:随机森林深度学习方法:CNN增加残差模块后的深度学习方法:CNN+ResBlock

如各位童鞋需要更换训练数据,完全可以根据源码将图像和标注文件更换即可直接运行。

博主也参考过网上故障检测的相关文章,但大多是理论大于方法。很多同学肯定对原理不需要过多了解,只需要搭建出一个基于深度学习的轴承故障预测系统即可。

也正是因为我发现网上大多的帖子只是针对原理进行介绍,功能实现的相对很少。

如果您有以上想法,那就找对地方了!

不多废话,直接进入正题!

二、数据介绍

本次项目的数据是使用的凯斯西储大学(Case Western Reserve University)轴承数据中心的开源数据集。

数据文件采用Matlab格式。每个文件都包含风扇和驱动端振动数据以及电机转速。对于所有文件,变量名称中的以下项表示:

DE – 驱动端加速计数据

FE – 风扇端加速计数据

BA – 基础加速计数据

time – 时间序列数据

RPM- 测试期间的转速

2.1 故障类型图示2.2 数据图示2.3 查看单个数据文件情况2.4 数据分布情况

博主对:

正常

内圈故障

外圈故障

滚动体故障

四种不同情况下轴承的数据分布进行了可视化展示,由于图示较多,这里只展示内圈故障的一个文件的数据分布情况,其他情况感兴趣的同学可以下载完整代码运行看看。

三、数据预处理

通过可视化观察发现数据波长周期基本上为100-200左右,博主这边使用1000作为采样长度,对所有轴承数据进行采样,并构建label。我们这次需要学习并预测的是输入的轴承数据是为:正常、内圈故障、外圈故障、滚动体故障。中哪一类,因此是一个4分类的任务。处理后数据分布如下:

正常样本:1696个

内圈故障样本:1455个

滚动体故障样本:1457个

外圈故障样本: 1457个

然后对数据进行采样,保证每类数据1400个。

data_train = np.asarray(data_normal[:1400] + data_inner[:1400] + data_ball[:1400] + data_outer[:1400],dtype = 'float64')label = np.asarray(label_normal[:1400] + label_inner[:1400] + label_ball[:1400] + label_outer[:1400],dtype = 'int64')print("处理后样本shape:",data_train.shape)print("处理后数据类别分布:",Counter(label))# 保存数据np.save("train_data/train_data.npy",data_train)np.save("train_data/label.npy",label)print("数据保存成功,位置:/train_data/")

四、模型训练及评估4.1 加载数据

def load_data(): # 读取数据 x = np.load('train_data/train_data.npy') y = np.load('train_data/label.npy') num = len(Counter(y)) print("类别数量为:", num) return x, y, num # 读取数据data, label, label_count = load_data()# 生成训练集测试集,70%用作训练,30%用作测试train_data, train_label, val_data, val_label = create_train_data(data, label, 0.7)print("*"*10)print("训练集数量:",len(train_label))print("测试集数量:",len(val_label))

4.2 随机森林

# 模型参数设置rfc = RandomForestClassifier(n_estimators = 50,min_samples_split = 5,min_samples_leaf = 4,max_depth = 5)# 模型准确率和损失值acc_list = []loss_list = []train_acc_list = []print("开始训练")for i in range(1,epoch +1): # 模型训练 rfc.fit(m_train,train_label) # # 训练集 # y_train = rfc.predict(m_train) # 测试集 y_pred = np.asarray(rfc.predict(m_val),dtype = 'int64') # 计算准确率 acc = round(accuracy_score(val_label, y_pred),3) # 训练集 y_pred = np.asarray(rfc.predict(m_train),dtype = 'int64') # 计算准确率 train_acc = round(accuracy_score(train_label, y_pred),3) # print('测试集准确率:', round(accuracy_score(val_label, y_pred),3)) acc_list.append(acc) train_acc_list.append(train_acc) # 计算损失值 # 使用one-hot编码计算损失值 noe_hot = OneHotEncoder(sparse = False) y_pred_o = noe_hot.fit_transform(y_pred.reshape(1, -1)) val_label_o = noe_hot.fit_transform(val_label.reshape(1, -1))# loss = round(log_loss(val_label_o,y_pred_o),3) # print("loss:",round(log_loss(val_label,y_pred),3))# loss_list.append(loss) print("完成第",i,"轮训练,测试集准确率:",acc)

4.2.1 模型训练4.2.2 模型测试4.3 CNN

构建一个CNN网络,结构如下:

4.3.1 模型训练4.3.2 模型测试

可以看到,使用原始cnn模型训练后准确率只有83。类标2即“内圈故障”的召回率较低,无法准确有效识别。

4.4 CNN+ResBlock

模型构建:

import n_model as mdimport tensorflow as tf# 模型参数model_param = { "a_shape": 1000, "b_shape": 2, "label_count": 4, "num_b":5}data_shape=(model_param['a_shape'],model_param['b_shape'])# 模型实例化model = md.CNN_ResNet_model(model_param['label_count'] , model_param['num_b'] , data_shape=data_shape)# 使用学习率进行训练res_model = model.model_create(learning_rate = 1e-4)# 模型网络结构print("实例化模型成功,网络结构如下:")print(res_model.summary())# 设置模型log输出地址log_dir = os.path.join("logs/ResNet")if not os.path.exists(log_dir): os.mkdir(log_dir)

4.4.1 模型训练4.4.2 模型测试

可以看到,增加了残差模块的CNN网络已经能准确对不同故障类型进行分类,准确率和召回率均在95分以上。

五、完整代码地址

由于项目代码量和数据集较大,感兴趣的同学可以下载完整代码,使用过程中如遇到任何问题可以在评论区评论或者私信我,我都会一一解答。

完整代码下载:

点击即可获取→→→→→AI鈥斺€擹iLiaoHuoQu←←←←←←

声明:壹贝网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者wangteng@admin所有,原文出处。若您的权利被侵害,请联系 756005163@qq.com 删除。

本文链接:https://www.ebaa.cn/36550.html

(0)
上一篇 2024年11月22日
下一篇 2024年11月22日

相关推荐

  • 世界大学经济学专业排名

    在全国最新院校排行榜名单中,经济学专业排名靠前的大学有中国人民大学、北京大学、复旦大学、清华大学、武汉大学、南开大学等。 一、经济学专业大学排名 下面,给大家详细介绍2024年软科版经济学专业全国大学排名情况,数据来源权威,参考价值极高。 2024年中国人民大学经济学专业位列全国第1名; 2024年北京大学经济学专业位列全国第2名; 2024年复旦大学经济学…

    2025年11月24日
  • ubc大学中国学生有多少

    加拿大顶尖学府,不列颠哥伦比亚大学(University of British Columbia, UBC)发布了2021-2022的年度学生报告。从报告的整体情况来看,COVID-19 并未影响到招生和入学人数。 从2019年开始,UBC每年的新增学生都在2,000人以上。在2021-2022学年,全校总人数达到72,281人,其中国际生总人数达到19,5…

    2024年12月22日
  • 南京航空航天大学金城学院航拍

    微信搜一搜“51艺术桥”,关注公众号,获取更多2021艺考资讯 温馨提示: 关注公众号——栏目页对话框回复关键词 ——“统考成绩查询”或 “统考合格线”,即可查询已开通省市统考成绩 ——如“XX统考查询”,即可获取各省官方查询网址及二维码,XX代表各省 陆续更新中,各省成绩公布前更新完毕 重点汇总: 上海戏剧学院、浙江传媒学院、山东艺术学院今天开始报名!!!…

    2024年10月29日
  • 农学世界大学排名

    日前,四大权威世界大学排名(QS排名/USnews排名/THE泰晤士排名/ARWU上海交大学术排名)之一的《美国新闻与世界报道》(USnews)公布了2024年全球农业科学学科的大学排名情况。 中国农业大学位居第一!在前十排名中,中国高校占据8席,分别为中国农业大学、江南大学、西北农林科大、浙江大学、南京农大、华南理工大学、南昌大学、江苏大学。 在农业科学学…

    2025年5月16日
  • 香港邮编多少

    香港(Hong Kong),简称“港”(HK),全称为中华人民共和国香港特别行政区(HKSAR)。地处中国华南地区,珠江口以东,南海沿岸,北接广东省深圳市,西接珠江,与澳门特别行政区、珠海市以及中山市隔着珠江口相望。 香港是一座高度繁荣的国际大都市,区域范围包括香港岛、九龙、新界和周围262个岛屿,管辖陆地总面积1106.34平方公里,海域面积1648.69…

    2024年6月18日
  • 中外合作办学大学分数线

    2023年中外合作办学专业(历史/物理)类在广东的投档分数线是多少?想低分上大学的宝子们快来看看吧~ 历史类 物理类 合作办学高校(历史类) 合作办学高校(物理类) 建议收藏! END

    2025年1月15日
  • csc英语要求

    CSC的结果出来时几家欢喜几家愁,但CSC结果的成败并不能决定一个人的未来。所以收到贺信的自己仍是诚惶诚恐,已经从焦虑CSC结果过渡到焦虑博士毕业了。在此,感谢申请CSC过程中所遇到的前辈和小伙伴们!也想给未来申请CSC的同学分享自己申请过程中一点点想法。 一、关于CSC申请的材料准备: 1录取通知书or邀请信:这是最核心最重要的材料,对于绝大部分只申请生活…

    2025年11月5日
  • 广州工商学院能读研吗

    2024年12月31日,广东省学位委员会印发 《关于调整博士硕士学位授予立项建设单位的通知》(粤学位函〔2024〕9号) (下称《通知》), 9所高校和14所高校分别增补为博士硕士学位授予立项建设单位。 (一) 这9个博士学位授予立项建设单位是:仲恺农业工程学院、星海音乐学院、广东技术师范大学、东莞理工学院、五邑大学、广东石油化工学院、广东金融学院、肇庆学院…

    2025年6月24日
  • 亚洲大学前100排名榜

    来源:环球时报 【环球时报综合报道】最新国际高等教育分析机构Quacquarelli Symonds(QS)亚洲大学排行榜公布,香港大学超越新加坡国立大学,排名第二,北京大学蝉联榜首。 香港大学 据香港《星岛日报》11月9日报道,最新的QS亚洲大学排名根据全球认可度、研究实力、教学资源和国际化程度对院校进行评估,有来自25个国家和地区的856所院校参与,香港…

    2024年10月16日
  • 香港有哪些大学可以申请研究生

    想去香港读硕士,但不知道选择哪所学校? 港大要求太高怕够不着? 城大、理工会不会更稳妥? 浸会的传媒、教大的教育专业是不是更适合你? 别急!今天我们就来好好聊聊香港八大院校的录取要求,帮你找到最匹配的学校! 香港大学(HKU) 香港大学作为香港最顶尖的学府,学术要求极高,适合背景优秀的学生。985/211院校学生需均分85+,双非院校学生建议87+。语言要求…

    2025年8月19日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信