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

一、项目简介

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

相关推荐

  • 日本樱美林大学排名_日本樱美林大学排名世界

    樱美林大学简介 樱美林大学(英文名:J.F.Oberlin University),于1921年建立。日本私立大学,大学简称为"樱美林",于1966年开设大学教育。 校训 「キリスト教精神に基づいた国際的人材の育成」 樱美林大学始终本着“以基督教的精神培育国际型人才”的理念来开展教学和研究活动。 校史 樱美林的创始人清水安三先生,于一九一…

    2024年4月10日
  • 美国最好的商学院排名_美国最好的商学院排名前十

    北京时间4月25日,U.S.NEWS & World Report发布了2024年全美最佳研究生院排行榜(2023-2024 Best Graduate Schools)。作为世界最权威的学术排名机构之一,今年发布的最新排名依旧包含了商科、法律、医学、工程、护理和教育这六大类研究生院排行榜。同时,每个学科大类下按专业和细分方向还会有包含多个更为具体的…

    2024年3月20日
  • 西澳大学留学申请

    西澳大学是澳大利亚八大名校之一,始建于1911年,坐落于澳大利亚西澳大利亚州首府珀斯市,顶级研究型大学,世界百强名校。西澳大学作为澳大利亚五星级大学,自然是很多学生的申请对象,那么这么一所优秀的大学,想要成功的申请难度大不大呢?接下来就一起来看看西澳大学申请条件的介绍,希望对大家有所帮助。 西澳大学预科申请条件 学历要求:高二完成或高三毕业 语言要求: (1…

    2026年1月15日
  • 俄罗斯硕士留学几年

    #国内读博士真的很辛苦吗?#据俄罗斯俄新社消息,俄罗斯教育部透露,自 2026 年 9 月 1 日起,俄罗斯高校将全面转向更新后的高等教育体系。教育部相关消息被引用称,届时该部门将完成相关规范性法律文件的准备与批准工作 。 俄罗斯教育部部长瓦列里・法尔科夫在 2024 年 12 月表示,计划于 2026 年在俄罗斯数千所高等院校全面推行新的高等教育体系。早在…

    2025年10月24日
  • 威斯敏斯特教堂无名墓志铭

    来源:环球时报 【环球时报驻英国特约记者 纪双城】英国将在9月19日,为已故女王伊丽莎白二世举行国葬。国葬的地点,选在伦敦泰晤士河北岸,有1000多年历史的威斯敏斯特教堂(如图)。很多王室婚礼、葬礼、国家庆典和纪念活动都在此举行,其中最受外界关注的是国王的加冕典礼和国葬。此外,威斯敏斯特教堂还是3000多位社会知名人士的长眠之地。 如同英国政治博物馆 威斯敏…

    2023年12月7日
  • 美国密歇根大学安娜堡分校在哪里

    密歇根大学安娜堡分校地理位置:这所大学位于美国的中西部地区,地理位置优越,临近密歇根湖,交通发达。安娜堡与底特律比邻,但是自然环境与治安条件都明显优越于底特律。占地面积广,有众多的有名的建筑物和优渥的硬件设施。这所大学排名在全世界二十名之内。其中医学院更是排在前三位。在美国排除常青藤学校外,密歇根大学安娜堡分校名列前茅。密歇根大学安娜堡分校的各个专业在美国所…

    2024年12月22日
  • 哈佛大学暑期课程_哈佛大学暑期课程有哪些

    美国大学通常会在每年暑期为大家推荐最新书单,建议师生在假期阅读。 美本大学书单,对于申请美本的高中生是一个了解学校内在的重要渠道。 我们为大家介绍2023年哈佛大学最新暑期书单!哈佛今年的暑期书单涵盖了多种类型的书籍,包括奇幻冒险类、传记回忆录类、漫画类、现代爱情与友谊类等等。其中,今年哈佛书单中的Detransition, Baby在今年加州伯克利的书单中…

    2024年3月18日
  • 美国大学挂科规定

    来源:环球时报 【环球时报驻美国特约记者 田秋】留学生在海外读书面临很多挑战,难免有成绩不如人意的时候。中国学生在美留学造成挂科的原因有很多,有一些是因为学生的态度不够认真,也有一些情况是因不熟悉美国高校的要求或者语言文化的隔阂造成的。因此,如何避免挂科,以及在挂科之后如何及时止损,是一个非常重要的问题。 首先,学生在日常的学习中,明确每一门课程的要求至关重…

    2024年10月23日
  • 日本早稻田外国语学校怎么样

    现在很多人都知道日本考学不会像国内那么卷,虽说是轻松一些,但日本也绝不是躺着就能顺利留学的地方;准备去日本留学,这几个认知上的错误一定要改正! 国内成绩不重要 有些同学误认为,反正要出国留学,国内成绩就无所谓了,甚至想“敷衍了事”。 但现在这个时代,日本早就已经强化了对留学生成绩的考核。很多院校会根据留学生在国内的在校成绩,判断学生的专业能力。从递交材料方面…

    2024年12月24日
  • 意大利留学申请条件(意大利留学申请条件硕士)

    最近在关注意大利留学信息的小伙伴们看过来了,小编给各位小伙伴带来了意大利留学申请相关信息,下面,跟着一块来了解意大利留学申请需要具备的条件吧。   意大利硕士留学申请条件 1.申请者必须在国内拥有学士学位,这是意大利留学申请硕士的最基本条件。   2.申请者需要拥有语言成绩,去意大利读研寄宿,是没有双录取模式的,也就是说,在申请研究生时,需要具备语言成绩并达…

    2023年10月20日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信