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

一、项目简介

本文主要介绍如何使用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日

相关推荐

  • 马来西亚北方大学硕士申请资料

    想去马来西亚留学的宝子们!看过来啦~ 当地很多院校的申请时间都即将截止了,今年还有留学打算的同学,赶紧了! 1.马来亚大学(UM) 开放申请: 2023年2月21日 本硕截止: 2023年8月30日 博士截止: 2023年9月21日(具体日期视专业决定) 2.马来西亚博特拉大学(UPM) 开放申请:2023年3月1日 本科截止:2023年7月30日 硕博截止…

    2025年9月5日
  • 长春市吉林大学莱姆顿学院

    砥砺耕耘结硕果,奋楫扬帆传佳音 在2025年申研考研战场上 我院学子再创佳绩! 国内外研究生共录取146人 占学生总人数25.3% 录取率达52.1% 其中国外研究生录取率达67.7% (申研考研人数为280人) 这份沉甸甸的成绩单 彰显了莱姆顿学子卓越的学术实力 更体现了学院国际化办学特色 与高质量人才培养的显著成效! 本届毕业生在世界Top200名校申请…

    2025年6月26日
  • 2023澳洲大学排名一览表

    2023年,《澳大利亚金融评论》推出了首届澳大利亚最佳大学排名,刷新了我们对澳洲八大的一贯认识,八大中的三所大学未进前十,而悉尼大学甚至排到了第十五位,此举让这个澳洲本土排名直接出了圈。 前不久,《澳大利亚金融评论报》推出了2024年本土高校最新排名,不少非八大院校扬帆逆袭,排名领先,再次引发轰动。 2024年澳洲本土大学排名如何?我们先一睹为快! 2024…

    2025年9月12日
  • 纽约有几个大学

    一提起美国院校,大家肯定会想到最前沿的教育,最尖端的科研… 但是,可能当你真正去那里读书之后,却发现有些学校遍地是槽点,吐槽都吐不完… 今天,Vicky就给大家盘点一下读了可能会后悔的几所顶尖的美国大学! 01 约翰霍普金斯大学 ⭕治安混乱 约翰霍普金斯大学位于巴尔的摩市,种族矛盾激烈,枪击、抢劫、贩毒、杀人案件经常发生。 在新馆疫情…

    2024年9月7日
  • 泰国易三仓大学怎么样

    世界这么大,而我只钟情东南亚, 让我们一起来看看萨瓦迪卡国度的著名学府, 泰国易三仓大学(Assumption University)。 泰国易三仓大学简介 泰国易三仓大学(Assumption University) ,简称AU,又名ABAC大学,位于泰国曼谷,始创于1969年,是泰国第一所国际大学,同时也是泰国最大、声誉最高的私立大学。易三仓大学可授予学…

    2024年5月23日
  • 河南二本大学录取分析

    2021年全国高校在河南二本的投档线已经公布,省内高校文科类投档线整体表现相对较为稳定,理工类部分高校爆冷,民办高校400分即可录取,在此不再分析省内高校,具体情况可以看@混沌人生发表的河南省内高校二本投档线分析。 河南地处中原,经济发展相对落后,每年的考生数量都遥遥领先其它省份高校;省内高校数量虽然不少,但顶尖高校太少,造成了河南学子成了全国最难最辛苦的考…

    2024年9月27日
  • 青岛留学中介排名(青岛留学机构中介排名)

    各位青岛地区的留学生们,有没有因为选中介而发愁? 如果你在纠结金矢和无忧留学这两家机构到底选哪家,那么往下看就对了 小编从各个角度帮大家分析了一下这两家中介进行对比,欢迎同学们按照自己的背景和需求进行选择哦! 金矢留学 擅长服务:多地区海外留学移民咨询、职业规划、求职就业等 可办理国家:英国、美国、澳洲、加拿大、新加坡等 办公室分布:总部在上海,覆盖全国 顾…

    2023年11月9日
  • 杜伦大学金融硕士含金量如何

    为了让大家了解世界顶尖大学,小编将按照2025年QS排名为大家一一介绍。今天介绍的是2025年QS排名第89的杜伦大学。 杜伦大学(Durham University),始建于1072年,位于英国杜伦,是一所公立研究型大学、罗素大学集团成员之一、世界百强名校。 杜伦大学一共有16个学院,其中有9个黑袍学院;设有艺术与人文,科学,社会科学和健康三个学系,25个…

    2025年7月30日
  • 惠顿学院qs世界排名

    近日,美国Niche网站更新了音乐院校的排名,参与排名的学校包括全美专业类音乐大学和有音乐专业的综合类大学。。Niche是美国著名的第三方教育评价平台。因为Niche拥有海量的用户评价和反馈,也被称作教育类的“大众点评”。相比QS排名,Niche排名更注重学生和家长的体验和见解,给人更直观的感受,因此是在美国择校的重要参考。 Niche最佳音乐学院排名是基于…

    2025年2月10日
  • 香港中文大学博士申请条件

    当“香港博士”逐渐成为内地高知群体争相追逐的热门选项,坐落于粤港澳大湾区腹地的香港中文大学(深圳)也悄然成为博士申请中的“黑马选择”。这所年轻却背景强大的研究型大学,正借助港中大系统的优质学术资源,在博士教育领域中快速崛起。 , 相比传统的香港八大高校,港中深拥有更高的灵活性与更多大湾区区域红利;相较于内地传统博士点,它又具备更鲜明的国际化氛围与制度机制。很…

    2025年10月27日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信