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

一、项目简介

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

相关推荐

  • 新加坡理工大学留学费用

    计划新加坡留学,担心费用?别慌!这份最新学费汇总帮你精准规划预算,找到最适合你的高性价比学府! 新加坡主流高校留学费用概览 (人民币/年,含学费及基础生活费): 学校名称 总费用范围 特色与优势领域 学制亮点 新加坡国立大学 约 26万+ 综合顶尖,全球声誉高,性价比最优 本科4年,硕士1-2年 南洋理工大学 约 35万 – 45万+ 理工科顶尖…

    2025年11月27日
  • 西雅图华盛顿大学邢台

    作为新世纪第二个十年的末尾,2020发生了太多不可被遗忘的事情。 于我们而言这一年的关键词就是“告别”,有太多的人远离我们而去,悲伤成为了时间流逝的注脚。 既有那些以“热搜”形式让大众陷入悲痛的明星,也有很多我们几乎没有听过名字的行业巨匠,不管是明星还是“凡人”,这些人生前都在各自领域做出了卓越贡献,值得我们一辈子去铭记。 一、科学界 01、周同惠:一生和“…

    2025年9月9日
  • 筑波大学医疗心理学部

    《咨询心理学》 樊富珉 主编 朱旭 何瑾 副主编 华东师范大学出版社 心理咨询,对于当下的我们来说,已经不陌生。 它为我们的心理健康,提供了很多帮助,但也有人提出质疑。 心理咨询真的有效吗? 心理咨询到底是什么? 咨询心理学是一个年轻的现代心理学的分支,运用心理学知识理解和促进个体或群体心理健康、身体健康和社会适应。咨询心理学关注个体日常生活中的一般性问题,…

    2025年4月30日
  • 曼彻斯特申请条件

    为了让大家了解世界顶尖大学,小编将按照2025年QS排名为大家一一介绍。今天介绍的是2025年QS排名并列第34的曼彻斯特大学。 曼彻斯特大学(The University of Manchester),简称曼大,英国曼彻斯特市的公立综合研究型大学,成立于维多利亚时代工业革命时期,故被称为英国“红砖大学”。曼大是罗素集团、大学研究协会以及国际大学气候联盟的成…

    2025年11月12日
  • 加拿大多伦多大学研究生申请条件

    地球是一个充满奇迹的星球,从高耸的山脉到深邃的海洋,从广袤的平原到繁华的都市,每一寸土地、每一片水域都蕴藏着独特的故事与规律。地理学作为研究地球表面自然现象与人文活动分布规律、相互关系的学科,正是探索这些奥秘的钥匙。多伦多大学凭借在地理研究领域的卓越实力和全球化的视野,将地理专业打造成培养地球探索者的摇篮。在这里留学,学子们将深入走进地理的世界,解锁地球每一…

    2025年9月15日
  • 英国学校获诺贝尔奖

    作为英国录取竞争最为激烈的学校之一,布里斯托大学的录取要求一直都不低。 但最近发现,该校的雅思成绩要求竟然悄悄降低了!!这对26fall的同学来说无疑是个好消息! 布里斯托大学的雅思要求共分为A-H共8档,之前最低档(H档)的要求是总分6.5,单项不低于6.0分。 但最新布大的官网显示,最低档的小分要求降低了!即总分要达到6.5,单项不低于5.5。 (图源:…

    2025年7月26日
  • 英国留学好么

    为什么很多人最后还是选择了去英国留学?这其中的原因可不仅仅是因为英国QS排名靠前的学校多。 ·第一点,大家都知道找工作的时候很多HR都只认QS排名,所以这一部分去英国留学的学生就非常幸运了。世界前100的学校英国竟然占了1/5,入围了18所之多,数据是多么可怕。英国排名前200的学校就更多了。 ·第二点,学制短。大部分的专业本科三年,硕士只需要一年时间。也就…

    2024年5月8日
  • 英国利物浦大学留学费用_英国利物浦大学留学费用需要多少

    学费 利物浦大学,作为世界顶尖的高等教育机构,向全球吸引着数万名学生。学费是大多数留学生首先关心的问题。一般来说,本科学生的学费在每年13至15万人民币之间,研究生则稍微高一些,但具体金额还需要考虑学生的学习专业和课程类型。 住宿费 在利物浦大学,住宿费可以说是一个大的开支。学校提供的宿舍费用大约每年7万人民币,但如果选择在校外租住,费用可能会有所不同,因地…

    2024年3月27日
  • 伯明顿大学文理学院

    印第安纳大学伯明顿分校本科专业 印第安纳大学伯明顿分校(Indiana University Bloomington)是一所位于美国中北部地区的公立研究型大学,始建于1820年。学校提供了广泛的本科专业供学生选择,以下是根据搜索结果整理的部分本科专业信息: 社会科学 印第安纳大学伯明顿分校在社会科学领域的实力尤为突出。学校的所有教师中约有三分之一从事社会科学…

    2025年8月23日
  • 首都师范大学科德学院女大学生

    来源:【未来网】 金风送爽,秋意渐浓。9月3日,首都师范大学科德学院迎来了新学年的开学季。在这一充满希望的时刻,首都师范大学科德学院校长王万良为新生们带来了开学第一课,全面介绍了学校的办学情况,展望了学院的未来发展。 王万良首先对新生们表示了热烈的欢迎,并对大家即将开始的大学生活寄予了厚望。他指出,首都师范大学科德学院作为一所与时代同行的高等学府,致力于培养…

    2025年9月1日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信