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

一、项目简介

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

相关推荐

  • 山东大学32本硕连读

    第一章 总则 第一条 为深入贯彻落实习近平新时代中国特色社会主义思想,落实立德树人根本任务,根据教育部相关文件规定,结合我校实际,特制定本章程。 第二条 招收博士研究生旨在培养德智体美劳全面发展,在本学科领域掌握坚实宽广的基础理论和系统深入的专门知识,具有独立从事科学研究工作能力,在科学或专门技术上做出创造性成果的高级专门人才。 第二章 招生类别 第三条 博…

    2024年12月20日
  • 怎么查法国签证进度

    法国约号面试时间最新查询! 橙色为优选时间,多缴纳380加急费用! 蓝色为时间免费的可以预约 约号需要准备的的材料有:护照首页+手机号+准确出境时间! 暑假期间想要去法国的小伙伴们要准备起来了,提前安排时间。 法国签证办理需要准备的材料有: 1、新旧护照原件,户口本、身份证复印件 2、照片2张白底的 3、酒店、机票预订单 4、行程单 5、在职证明和公司营业执…

    2024年4月19日
  • 考研一般需要多少钱

    考研的花费主要包括报名费和学费两部分。 报名费是由各省制定的,因此不存在一个统一的标准。每个省的报名费不同,但一般都在100元至300元之间。考生在哪个省报名就按照哪个省的标准支付。 读研究生的花费因人而异,但总体来说,相比于本科阶段,研究生的花费可能会更高一些。这主要是因为研究生阶段需要更加深入的学习和研究,需要更多的资源和投入。以下是一些可能影响研究生花…

    2024年6月28日
  • 普利茅斯大学等级划分

    剑桥大学 University of Cambridge QS 2026排名:6 高考总分在本省排名前0.1%,各学院会综合评估学生的具体情况; 会参考相关学科的奥林匹克竞赛奖项,AP考试成绩,以及AST等 爱丁堡大学 The University of Edinburgh QS 2026排名:34 科学与工程学院(College of Science an…

    2025年8月27日
  • 自考专科可以留学吗

    每年留学申请季,很多三本、专科、自考、成人教育背景的同学在说明自己的背景之后,总是会不确定地问一句:像我这种情况,可以申请留学吗? 说实话,在申请留学时,三本、专科、自考、成人教育背景的同学的申请难度肯定是比普通本科的学生要更大。 但是,三本、专科、自考、成人教育学历背景并不是留学道路上的拦路石,这些背景的同学完全可以申请留学,而且操作得当的话,有机会进入一…

    2024年5月27日
  • 巴塞罗那自治大学世界排名_巴塞罗那自治大学世界排名是多少

    巴塞罗那自治大学成立于1968年,学校成立之初共有四个学院,即哲学与艺术学院,医学院,科学学院和经济学院。随着学校的发展壮大,学校相继建立了法学院,信息技术学院,笔译与口译学院等学院。巴塞罗那自治大学现在共有13个学院,开设81个本科项目,84个硕士项目,67个博士项目,英文授课硕士项目占全校硕士项目的四分之一。 在QS世界大学排行榜上,排名第149名,较去…

    2024年3月20日
  • 广州番禺职业技术学院机器人技术

    中国教育报-中国教育新闻网讯(通讯员 郭蕾 张梓欣 记者 刘盾)近日,广州番禺职业技术学院建成智能制造工程中心(以下简称“中心”)。据悉,中心已经投资超过5600万元,打造了24间实验实训室,占地近8000平方米,与广州明珞装备股份有限公司合作成立现场工程师班,首期招生30人。 中心内设有基础型、应用型、集成型、创新型和融合型五类实训室。这些设施用于教学和培…

    2024年12月2日
  • 雪城大学被拒

    今天又是平平无奇收获offer的一天!!! 恭喜H同学拿到USnews排名59雪城大学本科offer!!! 普高没有考SAT,因疫情反复选择考多邻国。小朋友性格内向谨慎,在顾问和文书老师多次鼓励下,勇敢英美联申,大胆选校,现在已经收获5枚offer。这份好运一定要分享给你们,快来蹭一蹭欧气吧~ 雪城大学 雪城大学是位于美国纽约州雪城的一所私立研究型大学。这所…

    2025年3月15日
  • 德州职业技术学院招生办电话

    01 02 03 04 05 为使广大考生及家长准确、及时了解德州职业技术学院招生政策、招生计划、历年录取分数等相关信息,现将2024年学校招生具体咨询方式公布如下: 学校招生咨询热线 咨询电话:4001557117(报考咨询电话工作时间:8:00-17:00) 考生及家长可拨打招生电话咨询报考相关问题。 德州职业技术学院招生信息网 网址:https://z…

    2025年7月1日
  • 剑桥一年学费

    每年高考志愿填报季,总有一些“神秘高校”让考生和家长摸不着头脑。最近,有考生咨询“上海剑桥学院是几本?学费多少钱?”这所看似高大上的学校,究竟是985/211名校,还是民办三本院校?今天,我们用权威数据和科学策略,为你揭开“上海剑桥学院”的真实面目! 一、上海剑桥学院:民办本科还是野鸡大学? 上海剑桥学院并非教育部认可的“985”或“211”高校,而是一所民…

    2025年11月20日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信