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

一、项目简介

本文主要介绍如何使用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年4月19日
  • 北京演艺专修学院分数线

    新京报快讯(记者黄颖)日前,民间教育服务类网站“上大学网”公布了最新一批中国虚假大学名单,73所虚假大学被曝光,其中北京有23所。 今日北京知道(ID:xjb-jingshier)从北京市教委了解到,目前,由市教委审批和管理的民办高等学校及其他民办高等教育机构共84所,其中实施学历教育的民办普通高校及独立学院16所,实施非学历教育的民办高等教育机构68所。 …

    2025年4月28日
  • 余承东称用手机支架是导航不行 雷军发文回应!

    4月11日,华为举行鸿蒙生态春季沟通会,发布多款新产品。 在发布会上,华为常务董事、消费者BG CEO、华为智能汽车解决方案BU 董事长余承东与奇瑞汽车董事长尹同跃,发布了合作的首款智慧轿车智界S7,据介绍,此次智界S7带来焕新升级惊喜,分别是首发华为视觉智驾HUAWEI ADS 基础版,以及智界S7 Ultra正式上市,智界S7共提供5款车型,售价24.9…

    2024年4月12日
  • 全国音乐学院的排名(沈阳音乐学院在全国音乐学院的排名)

    热爱音乐的学生们总希望能进入一所优秀的音乐学院进行学习,现在国内的音乐学院也发展的越来越好,培养出许多音乐界的人才。今天排行榜123就来为您介绍全国十大音乐学院的排名情况,一起来看看有没有你心仪的那所大学吧! 1、中央音乐学院 创办时间 :1950年6月 地址:北京市西城区鲍家街43号 中央音乐学院是国家首批的“双一流学科建设高校”,致力于培养西方音乐人才,…

    2023年10月23日
  • 日本大学qs世界排名

    今天跟蔚蓝留学老师看一下2024年qs世界大学学科排名:日本大学排名一览。 2024年4月10日,QS全球教育集团发布第14届世界大学学科排名。该排名对全球95个国家和地区1500多所大学的16400多门独立大学课程进行了独立比较分析,涵盖55个学科,分为五类:艺术与人文、工程与技术、生命科学与医学、自然科学、社会科学与管理。QS使用了5个关键指标进行排名,…

    2024年12月2日
  • 加州大学戴维斯分校经纬度

    趁着新年,我们聊一个大家感兴趣的事情——留学花销! 众所周知,国际化学校的选择有个独特的一点:择校要逆推。也就是说我们要根据未来留学国家,来推测哪所国际学校更适合孩子。比如,考虑留学英国,英式教育的学校更适合孩子。 而海外留学费用,则是我们择校家庭务必要考虑的一环,比如意向国家的费用太高,我们很多家庭承担不起,这时候大家往往选择替代方案来规避。 那么,202…

    2025年6月16日
  • 香港浸会大学入学条件

    香港浸会大学是香港第二所历史最悠久的高等教育学府,为一所具有基督教教育传统的公立大学,以「全人教育」为其教育目标及理想,其校训为「笃信力行」。在世界MBA教育与商学院的发展过程中,出现了与MBA教育有关的三大国际认证体系。立思辰留学介绍,香港浸会大学坐落于九龙塘和观塘。它们分别是AACSB(国际精英商学院协会)、 EQUIS(欧洲质量发展认证体系)和AMBA…

    2025年11月19日
  • 国外留学研究生读几年

    揭秘!意大利留学研究生的学制时长 宝子们!最近有不少同学在后台问我,去意大利留学读研究生到底要读几年呢?今天咱就来好好唠唠这个事儿。 一般学制情况 在意大利,大部分的研究生课程学制为两年。这和国内的研究生学制其实比较相似。意大利的高等教育体系有着自己独特的魅力,这两年的时间里,研究生课程注重理论与实践的结合。以艺术设计专业为例,学生不仅要在课堂上学习设计理论…

    2025年11月4日
  • 亚洲最好大学东京大学

    今天在短视频平台刷到一段演讲片段,有人说是浙江大学的郑教授上课说亚洲最好的大学是东京大学,不是北大的。看完评论区吵翻了天,有人觉得他说得对,也有人反驳说排名显示南洋理工更靠前。这事让我好奇,翻了下相关资料,发现争议还挺复杂。 郑教授在课上明确说了亚洲第一是东京大学,完全不考虑排名榜。他说英国评的QS、泰晤士这些名单根本不能信,他们给英联邦学校打分一直特别高,…

    2025年8月14日
  • 北卡罗来纳州立大学校标

    中国药科大学(China Pharmaceutical University),位于江苏省南京市,是中华人民共和国教育部直属的多科性重点大学,由教育部、江苏省人民政府共建,是国家“双一流”建设高校、 国家“211工程”和“985工程优势学科创新平台”建设高校,入选国家“111计划”、教育部“卓越工程师教育培养计划”、国家大学生创新性实验计划、国家级大学生创新…

    2025年7月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信