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

一、项目简介

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

相关推荐

  • 英国女王大学学费_英国女王大学学费硕士一年

    英国“The Russell Group罗素大学集团”,创立于1994年,目前共有24所英国顶尖研究型大学,是全世界产生诺奖得主最多的名校联盟。虽然罗素大学集团成员只占全英院校10%,但集团成员每年为英国经济创造近870亿英镑的收入,创造了全英68%以上的顶级科研成果,可见罗素大学集团地位之高。 然而,罗素大学深受留学生青睐的原因不仅仅是因为这些,还有大学为…

    2024年4月2日
  • 莫纳什大学和迪肯大学地理位置

    澳大利亚的大学按照星级划分为五类,包括五星、四星、三星、二星和一星,其中,学生申请较多的是五星和四星学校。那么,下面来跟小编一起看看澳大利亚各院校的星级排名和地区分布情况吧~ 2016澳大利亚五星级大学排名↓(按照字母排序) 澳大利亚各州大学分布 维多利亚州(VIC):省会墨尔本,是澳大利亚传统经济大州。院校有莫纳什大学、墨尔本大学、迪肯大学、墨尔本皇家理工…

    2025年9月1日
  • 澳洲留学diy攻略

    全球教育网站educations.com发布了2023年全球十大最佳留学国家排行榜:澳洲名列第二,热度不减。澳洲本科、硕士是中国留学生选择最多的阶段,一直以来,大家都觉得澳洲留学申请是很easy的,从各种网站上、app上、官网上搜罗各类信息,就开始自己diy动手操作了。有成功的,当然也有失败的,Shirley老师也遇到好些学生diy到一半出来寻求老师帮助的。…

    2023年11月30日
  • 斯特林大学回国就业

    为满足对人工智能法律专家日益增长的需求,加州大学伯克利分校(UC Berkeley)法学院最新开设了首个专注于人工智能(AI)的法律硕士学位课程(Master of Laws,LL.M.)。 目前,该项目已开放申请,将于明年夏季开课。 来源:UCB官网 一、UCB 新 LLM 课程介绍 1.内容与教学 伯克利法学院本次新开设的专注于 AI 的 LLM 学位课…

    2025年8月26日
  • 美国伊利诺伊州大学排名

    美国时间9月13日,世界权威排名机构之一 U.S. News & World Report 《美国新闻与世界报道》(以下简称U.S. News)官方正式发布了最新的2022年美国大学排名(2022 Best College Rankings)。 美国拥有4,000多所高等院校遍布全美各州,每所院校都有其与众不同之处,每年选择前往海外留学的国际学生都会…

    2025年10月17日
  • 苏黎世联邦理工大学世界排名

    近日,泰晤士高等教育(THE)与人力资源咨询公司 Emerging 联合发布 2026 年度全球大学就业能力排名(GEURS)。 图源:泰晤士高等教育 本次排名整合了 32 个国家和地区、12350 家雇主的 119967 份评价,最终筛选出全球 250 所就业力表现领先的院校。 该排名聚焦全球院校的学生就业能力培养成效,也是当前全球雇主认可度较高、使用率较…

    2025年12月30日
  • 2025泰晤士世界大学排名

    1月22日,国际著名大学排名机构泰晤士高等教育,发布了2025年泰晤士高等教育(THE)世界大学学科排名。 ·美国麻省理工学院和斯坦福大学在11个学科排名中分别有三个学科位列前世界前三名。 ·牛津大学在两个学科中名列前茅:临床与健康和计算机科学。 ·加州理工学院在理学学科中位列世界第一。 ·斯坦福大学、哈佛大学和剑桥大学在所有11个学科中都进入世界了前十名。…

    2025年12月30日
  • 加拿大ubc大学排名

    深圳商报·读创客户端首席记者 吴吉 记者 方杰 2月19日,南外高中校园内,深圳市南山外国语学校(集团)党委书记,南外高级中学书记、校长梁明庄重地签署了《深圳市南山外国语学校(集团)与不列颠哥伦比亚大学奥肯那根校区合作声明》。 此次前来的Rehan Sadiq教授,是不列颠哥伦比亚大学(The University of British Columbia,简…

    2025年10月22日
  • 首都医科大学研究生招生简章2023

    首都医科大学附属北京世纪坛医院(北京铁路总医院),原为铁道部北京铁路总医院,创建于1915年,1989年首批通过全国三级甲等医院评审,为北京市属综合医院,是首都医科大学附属医院、首都医科大学肿瘤医学院、北京大学第九临床医学院、北京市中西医结合肿瘤研究所及北京世纪坛医院医联体理事单位。 医院北临长安街,与中央电视台、中华世纪坛和军事博物馆相望;南接北京西站,处…

    2025年6月19日
  • 波士顿大学艺术学院院长是谁

    宋波是我国著名男高音歌唱家,作为歌剧演员在美国工作多年,回到上海音乐学院(简称“上音”)后,他执教于声乐歌剧系已有20余年,备受学生尊敬与喜爱。他曾在美国罗莎·庞塞尔国际声乐比赛中获得“伊丽莎白奖”,在大都会歌剧院国际声乐比赛中获得新英格兰地区第一名。近年来,他获得教育部国家级教学成果二等奖等诸多奖项。 曾经,他是归来的星光;如今,他以音乐孕育更多的星光。 …

    2024年1月13日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信