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

一、项目简介

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

相关推荐

  • 德国研究生留学申请条件

    计划留学却纠结国家?预算有限又想读好学校?对英美澳高额学费望而却步的话,德国或许是你的「宝藏选项」—— 免学费公立大学、高含金量学历、友好的就业政策,这些优势让德国成为近年留学热门。 今天就用一篇文章,把德国留学的「优势、院校、费用、申请」讲明白,帮助大家更深入的了解德国留学! 01为什么选择德国留学? 在深入细节之前,我们先看看德国留学最吸引人的地方: 1…

    2025年10月21日
  • 芝加哥大学排名

    10月20日,据统计,2024-25学年,美国排名前十的大学的年度总费用在7.75万至9.83万美元之间。就单独学费而言,芝加哥大学以7.13万美元位居榜首,杜克大学、耶鲁大学和斯坦福大学等其他精英学校的学费也在7万美元左右。即使是拥有全球最大捐赠基金之一的哈佛大学,其学费也高达5.93万美元。 相比之下,私立非营利性四年制大学的学费约为4.34万美元,公立…

    2025年10月21日
  • 出国留学预科班(出国留学预科班什么意思)

    出国留学是许多学生梦寐以求的机会,而选择学校类型是决定留学体验的重要因素之一。在这方面,留学预科和直接申请有许多不同之处。114留学网老师给大家介绍一下留学预科和直接申请的区别! 1、直接出国 直接出国:学生可以自己DIY根据学校官网要求申请,或者通过留学中介或学长学姐申请国外大学。 【优势】 学生可以直观选择国外优质教育资源,对于学生的学习能力,管理能力,…

    2023年10月23日
  • 佛罗里达国际大学毕业率

    佛罗里达大学有两位诺贝尔奖获得者,分别是2005年诺贝尔化学奖获得者Robert Grubbs,1968年诺贝尔医学奖获得者Marshall Nirenberg; 佛罗里达大学优势 佛罗里达大学在美国本土国家大学排名体系中位列全球第50名。世界大学学术表现排行(URAP)位列世界45名。大学作为全美最大的研究型大学之一,每年为佛罗里达州经济贡献近60亿美元,…

    2025年8月7日
  • 俄罗斯国立师范大学招生简章

    俄罗斯国立师范大学(位于俄罗斯联邦圣彼得堡市),又名赫尔岑国立师范大学(Herzen University),是俄罗斯最古老的高等学府之一,始建于十八世纪末,是沙皇俄国政府在圣彼得堡大学(1724年)和莫斯科大学(1755年)之后建立的第三所高等院校。创立于1797年,已经有200多年的历史,是世界著名的师范大学,同时也是俄罗斯历史最悠久的大学,唯一冠有俄罗…

    2024年9月21日
  • 巴斯大学申请博士步骤

    想要去英国留学读Marketing专业的小伙伴们看过来,还记得立思辰留学小编在上篇文章里已经给大家科普过这个专业及就业方向了。那么小编现在想告诉大家的是,英国CUG 2020Marketing专业排名已出炉,小伙伴们可以看一看参考一下有没有你心仪院校的名字哦! 英国Marketing Top10院校排名如下: 2020完全大学指南CUG英国大学Marketi…

    2025年9月18日
  • 哈佛专业排名

    作为全球公认的顶尖学府,哈佛大学的魅力远不止“名校光环”。不少学子渴望申请哈佛,却对其核心优势认知模糊。其实,哈佛的实力集中体现在顶尖的学术体系与丰富的全球资源上,下面就为你全面解析,帮你深入了解这所百年名校的独特价值。 一、顶尖学术:构建“无短板”的知识殿堂 (一)学科实力:覆盖全领域的顶尖矩阵 哈佛在各大世界排名中稳居前列,文理社科、医学、商科等领域均处…

    2025年9月30日
  • 拉曼大学是什么档次

    马来西亚拉曼大学在2024年QS世界大学排名中名列第801-850位,表现出色。 拉曼大学是马来西亚政府创办的公立大学,建立于1964年。它位于吉隆坡市区,是马来西亚最受欢迎的大学之一。拉曼大学致力于为学生提供全面的教育服务,培养具有领导力和创新精神的人才。 在学术领域,拉曼大学拥有一流的师资力量和科研实力。学校拥有一批高水平的教师和研究人员,在各个学科领域…

    2024年11月7日
  • 新加坡理工大学在哪里_新加坡理工大学在哪里啊

    新加坡的五所理工学院,各有优势,具体哪个最好要根据专业和学生的个人兴趣、职业规划来选择。以下是五所理工学院的大致介绍: * 新加坡理工学院(Singapore Polytechnic):位于新加坡岛南部女皇镇,是新加坡第一所理工学院,建校于1954年。学校提供全面的教育,包括工程、商业、化学和生命科学、电器科学和电子工程技术、信息科学与通讯技术、机械学和制造…

    2024年3月3日
  • 日本私立大学排名一览

    日本除了众多国立、公立大学,还有很多的私立大学值得去就读。说起私立,大家首先想到的是早稻田和庆应义塾,这些都是顶尖的私立大学,在此,跟大家推介日本其他几所重点的私立。 01上智大学 东京理科大学 国际基督教大学 说说上智 东理 国际基督教, 以上院校国际上的人气,还有考试难度差不太多,但如果回国,还是推介上智大学。 如果你是理工科,大致国公立大学是可以申请到…

    2025年11月3日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信