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

一、项目简介

本文主要介绍如何使用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 北京师范大学 100.00 5★+ 299 2 华东师范大学 95.01 5★+ 299 3 华中师范大学 71.46 5★+ 299 4 西南大学 70.90 5★ 299 5 华南师范大学 70.38 5★ 299 6 南京师范大学 67.11 5★ 299 7 浙江大学 64.03 5★ 299 8 上海体…

    2024年3月25日
  • 悉尼大学所在地

    高考的本科录取已经陆续结束,同学都收到自己心仪的录取了吗?据统计,2025年高考的全国本科平均录取率仅为37.6%。所以,如果没有被自己心仪的本科院校的录取,不妨把目光放远,赛道的选择就多了。例如这所高性价比的澳大利亚大学。 就业率和毕业起薪点全澳名列前茅 查尔斯特大学悉尼和墨尔本校区是一所毕业生就业率和起薪点在澳大利亚名列前茅的大学(2023-2024年优…

    2025年8月18日
  • csc留学基金委

    国家留学基金管理委员会(China Scholarship Council:CSC),简称基金委,是直属于教育部的非盈利性事业法人单位。 基金委的宗旨是,根据国家法律、法规和有关方针政策,负责中国公民出国留学和外国公民来华留学的组织、资助、管理,以利于发展中国与各国教育、科技、文化交流和经贸合作,加强中国与世界各国人民之间的友谊与了解,促进中国社会主义现代化…

    2024年1月30日
  • 蒙纳士大学学费一年多少钱

    蒙纳士大学留学一年费用包含学费和生活费,学费一年大约在4万澳元-5.4万澳元左右,生活费一年约3万澳元-4.5万澳元,留学一年费用约7万澳元-10万澳元,约合人民币33.6万元/年-48万元/年。 以下是蒙纳士大学留学一年费用盘点—— 一、学费 1、蒙纳士大学本科和研究生大部分课程学费约4万澳元-5.4万澳元,约合人民币19万元/年-26万元/年。 2、部分…

    2025年7月23日
  • 日本筑波大学世界排名

    跟蔚蓝留学网老师看一下筑波大学世界排名第几?筑波大学是日本较古老的大学之一,筑波大学是日本知名研究型大学,既是RU11成员又是SGU项目中的学校。 筑波大学变迁史: 1929年 成立旧官立大学,东京文理科大学 (北京师范大学的前身是1902年创立的京师大学堂师范馆,比筑波大学早27年成立。) 1949年 学制改革后成立,新制東京教育大学(1931年、1952…

    2025年10月17日
  • 留学stem专业

    众所周知STEM专业由于广阔的就业空间、丰厚的薪酬以及36个月的OPT实习时间,一直受到众多申请美国高校的热捧。 或许很多学生和家长会认为STEM专业仅限于理工科,其实不然。在美国国土安全局和移民局公布的STEM专业列表中还是有相当多的其他的专业领域,其中就涵盖了商科类,教育类等文科专业。 比如发展与青少年心理学(Developmental and Adol…

    2024年1月5日
  • ap考试是啥(ap考试是啥意思)

    一、什么是AP考试? AP,全称Advanced Placement,中文名称为美国大学预修课程,适用于全球计划前往美国读本科的高中生。由美国大学理事会(The College Board)主持,AP成绩不但可以抵扣成功申请美国大学的同学入学后相应课程的学分,而且AP成绩也成为美国各大学录取学生的重要依据。 二、AP课程评分规则 AP课程满分5分,对应的评分…

    2023年11月1日
  • 中国人民大学mba报名

    中国人民大学商学院MBA项目是国内知名的管理教育项目之一,凭借优质的教学资源和深厚的学术积淀,吸引了众多职场人士报考。该项目在招生过程中设置了明确的条件,并采用透明化的费用标准,为申请者提供清晰的指引。 报考条件中国人民大学MBA项目面向具备一定职业经验和管理潜质的申请者。学历方面,申请者需满足以下要求之一:国民教育序列大学本科毕业且拥有三年及以上工作经验;…

    2025年7月6日
  • 首都经贸大学中外合作

    2026年10月18日,首都经济贸易大学将迎来建校70周年。在此,我们谨向长期以来关心和支持学校建设发展的各级领导、各界朋友、海内外校友和全体师生员工,致以崇高的敬意和诚挚的感谢! 岁月如流,使命在肩。首都经济贸易大学始建于1956年,由原北京经济学院与原北京财贸学院合并组建。近70年来,学校始终与国家发展同频共振,在栉风沐雨中坚守“崇德尚能,经世济民”的校…

    2026年1月13日
  • 香港浸会大学录取名单

    目前 广东省2024年高考录取 正在如火如荼进行中 今明两日进行本科批次预投档等 正式投档前的各项准备工作 19日将进行本科批次的正式投档 此外 7月16日,省招生办进行 特殊类型招生院校其他类别的投档 (含高校专项计划、高水平运动队、综合评价) 刚刚 中大、华工等多所高校 2024年综合评价录取考生名单新鲜出炉 一起来看! 2024年,我省在北京外国语大学…

    2024年12月30日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信