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

一、项目简介

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

相关推荐

  • 西班牙签证费(西班牙签证费用2023)

    申根旅游除了法国、意大利、德国这些热门国家,西班牙也是一个不错的选择! 去见证融合了罗马、中世纪风格的地方——巴塞罗那 去观赏国际和先锋设计的集合地——瓦伦西亚 去观瞻西班牙“天主教双王”zui后收复的土地——格拉纳达 【西班牙签证须知】 1️⃣ 西班牙是申根协议国家。 2️⃣ 申请签证的不超过90天 签证类型分为短期签证和长期签证 1、短期签证适用于停留时…

    2023年10月19日
  • 哈佛大学管理学院(哈佛大学管理学院暑期项目)

    成功者与平庸者大部分都是在忙碌中度过的,但是忙碌的结果却大相径庭,而时间对于每个人来说都是绝对公平的。那么,两者之间的差距是如何产生的?哈佛时间管理项目研究人员发现,有80%的人不仅不知道自己在忙什么,而且也不知道怎样才能利用身边的工具去更快地提升自我时间管理效率。不懂得借助已有的技术与条件、不懂得将时间管理的方法与技巧形成规模性的效应,是失败者身上最明显的…

    2023年10月27日
  • 芝加哥大学要考什么

    她被芝加哥大学经济专业录取,AP微积分和统计都考到了满分5分!江沣,上海中学国际部十二年级毕业生,曾经的她数学成绩相当不理想。她是如何一步步成功逆袭的?又做对了什么最终获得SAT数学满分、AP数学5分的好成绩? 这一次她将和两位国际课程名师为大家带来:三大国际课程中的数学高分攻略。 海外路路通 | 三大国际课程中的数学高分攻略(点击观看直播回放) 01 三大…

    2025年3月12日
  • 美国凤凰城大学排名

    在这里,您能将过去一周的留学资讯一网打尽,提升信息获取效率。快来看看本周留学快讯: 新一轮教育强国指数发布, 23年中国位次较22年上升2位 近日,中国教育科学研究院发布新一轮教育强国指数测算,2023年中国在全球的位次较上一年上升2位,为第21位。比2012年上升28位,是进步最快的国家。 在基础教育基点上,我国基础教育质量赢得越来越多的国际认可,不仅多次…

    2025年2月11日
  • 楚雄师范学院教务系统

    楚雄师院附中为楚雄州教育局直属学校,是州属完全中学。为优化我校教师队伍结构,补充缺额教师编制,根据《楚雄州人力资源和社会保障局关于印发楚雄州事业单位公开招聘工作人员实施意见的通知》(楚人社发〔2013〕16号)的有关规定,经楚雄州教育局同意,报经楚雄州人力资源和社会保障局批准,决定面向社会公开招聘高中英语教师1名。现公告如下: 一、招聘计划 招聘高中英语教学…

    2025年9月8日
  • 西北大学中外合作

    6月13日下午,西北大学萨兰托文化遗产与艺术学院(以下简称“安莱学院”)举行2025届毕业典礼暨毕业作品展启动仪式。起点新闻·西部网记者从现场了解到,作为西北大学首个中外合作办学机构—安莱学院首届57名毕业生中,目前已有15人被剑桥大学、伦敦大学学院等海外、境外高校录取,12人升入中国科学院大学、复旦大学、西安交通大学等国内高校,整体就业率近80%。 毕业典…

    2025年12月31日
  • 上海大学排名是985还是211

    上海大学是211工程院校,但不是985工程院校。上海大学简称“上大”,是上海市重要的人才培养基地。学校是拥有国家试点学院的17所高校之一,是教育部实施“卓越工程师教育培养计划”的首批高校之一。 1、上海大学是985还是211院校 上海大学是211大学,但不是985大学。 上海大学,是上海市属,教育部与上海市人民政府共建的综合性大学,位列国家“双一流”“211…

    2025年1月24日
  • 考上阿布扎比大学的中国学生

    男生姜宇昕,蓝色衣服女生王凯然,粉色衣服女生李龙炎。记者刘嘉 摄 长江日报融媒体2月28日讯(记者刘嘉 通讯员孙月)近日,武外英中的三名学生被纽约大学阿布扎比分校录取,每人都获得了30余万美金的全额奖学金,折合人民币200余万元。此前,武外英中也有三名学生考取过这所“壕”校,并获高额奖学金。 学校位于阿联酋 被誉为“最难考的大学”之一 今年,武外英中被这所大…

    2025年8月22日
  • 哈佛大学娱乐活动

    在大众的思维中,姚安娜这位哈佛大学计算机科学与统计学专业的毕业生,本应在科技领域发展。而她,却毅然踏入了娱乐圈。她的选择引发了很多讨论与猜测,究竟是什么促使她做出了这样跨越度很大的决定? 姚安娜出生于1998年1月14日,成长在一个极其优渥的家庭环境中,她的父亲是华为的创始人任正非。 从5岁起,姚安娜就踏上学习之路,开始学习一些技艺。据传,她的周末被各类兴趣…

    2025年7月26日
  • 哈特福德大学位置

    哈特福德大学为学生提供了良好的学习环境,使其能在学术、性格、社会实践方面得到全面的发展。学校共有5000多名学生,实行小班授课,平均每个班只有25人,使得师生之间可以有更多的互动。同时比起大型学校,在规模较小的学校,学生对于学生组织的活动的参与度也会更高。学校被评为康涅狄格州最具性价比大学第四名;康涅狄格州最佳师生比率第二名。那么哈特福德大学相当于中国什么等…

    2024年9月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信