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

一、项目简介

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

相关推荐

  • 加拿大约克大学离市中心多远

    导语:加成留学每年输送数以千计的学生赴加拿大留学,不少学生也都发来反馈告诉我们自己在加国的生活,下面就是加成在约克大学的留学生一年来的学习和生活感悟,我们一起看看学生眼中真实的加拿大约克大学究竟是什么样。 去年十月,我第一次踏进了约克大学。记得第一天,我被校园的美景还有无处不在的野生动物深深吸引,走到哪拍到哪,根本停不下来。作为加拿大第三大大学真不是盖的,相…

    2024年10月27日
  • 普渡大学和cmu哪个好

    机器之心发布 机器之心编辑部 全世界第一所人工智能大学 MBZUAI 全球招贤纳才。 自 2019 年 10 月成立以来,全球第一所人工智能大学 MBZUAI 便吸引了整个学术界的关注,并已在多个 AI 领域取得亮眼的成果。 今年 5 月,MBZUAI 建立了 Institute of Foundation Models,继去年 10 月份和 G42 共同开…

    2024年11月7日
  • 美国人来中国留学的人多吗

    【文/观察者网 柳白】被中方稀土管制打蒙的美政府高官,迫于现实接连放软关税语调,却又放不下霸权主义的架子。 在10月13日的福克斯商业频道节目中,美国财政部长贝森特为对华关税降调的同时,又试图混淆视听,指责中方管制是在“对抗全世界”。他不仅臆想美国此前的限制对中国“影响很大”,还暗戳戳拿30多万在美中国留学生发出威胁,全然一副黔驴技穷之姿。 贝森特称,特朗普…

    2025年11月14日
  • 考文垂大学与兰开夏大学

    2+2上海财经大学 (双一流/211) 1.专业设置 商科:会计、金融、经济、管理等 工科:人工智能 、计算机科学 、游 戏编程、软件工程等 2.学费:75000元/年 3.对接外方院校 英国:埃塞克斯大学 、班戈大学 、考文垂大学 、 肯特大学、基尔大学 、林肯大学 、创意艺术大学 、德蒙福特大学 、 中央兰开夏大学 、格林威治大学等; 加拿大约克大学(2…

    2025年1月14日
  • 没钱去美国留学

    纵览全网,没有money如何出国留学? 看看大家都是怎么做的? 【学霸组】 1、 读生物很容易出国,出国读博都是全奖,走学术路线很容易留下来。再不济博士走niw也行。这就是生物作为天坑之首在90年代却是分数最高的专业原因。 2、 自己一个人从中部小农村,坐十几二十个小时火车到东北读大学,还是贷款的。靠国家奖学金和励志奖学金、兼职,读完大学,又以专业第一保送博…

    2026年1月13日
  • 上海师范大学是属于几本

    上海二本大学排名如下:上海公安学院(全国第503名)、上海海关学院(全国第468名)、上海健康医学院(全国第456名)等。2024年上海二本大学录取分数线范围在403分~502分之间。详细的上海二本大学排名及录取分数线小编整理在下方了,供各位2025考生参考。 上海2025二本大学排名名单 下面是上海最好的二本院校排名名单,供2025考生参考: 序号 学校名…

    2025年7月29日
  • 郑州牧专现在叫什么学校

    河南工业大学是郑州粮院和河南郑州工业专科学校合并而成,河南省与国家粮食局共建高校,特色类大学。 一级学科,食品科学与工程王牌,粮油食品学院。国家级特色专业有,食品科学与工程,粮食工程,前二个突出粮院特色,机械设计及其自动化,土木工程突出工业专科。二者相互成就。 郑州粮院最早来源于1956年成立的中央粮食干部学校,1959年以中央粮校为基础组建北京粮食专科学校…

    2024年7月31日
  • 美国寄宿高中排名

    美本的申请竞争激烈,不少低龄留学家庭将目光汇聚到了海外中学身上,对美高尤为关注。 图片来源:官网 被广大留学家庭誉为美国版“大众点评”的Niche今年已经是第十一年对美高进行排名。 图片来源:官网 值得注意的是,Niche官网解释称,2023年美国教育领域发生重大变化,未来仍充满不确定性,但一个趋势愈发明显:标准化考试的重要性在持续下降。因此Niche在20…

    2025年10月27日
  • 悉尼大学和英国研究生含金量

    近日,英国王室正式宣布,查尔斯国王的长女、现年30岁的比阿特丽斯公主(Princess Beatrice)将正式入读澳大利亚悉尼大学(The University of Sydney),主修公共政策与可持续发展相关课程。 图源 Sky News 侵删 而且她还放弃了王室特供的独立公寓,坚持入住四人共享卫浴的学生宿舍,和普通学生同吃同住,以后和你一起赶due的…

    2025年7月22日
  • 海外房地产投资(海外房地产投资基金)

    近年来,越来越多的中国人将资产投资于国外房地产,因为投资房地产与大多数投资项目不同,投资房地产不会随着时间的推移而失去价值。考虑到长期结果,投资房地产确实是一项低风险的投资。2023年选择海外房地产投资还值不值得?今天我们就一起来看看: 国外法律优势保护个人财富 从购房手续来看,国内外差别很大。在国外,买方一般可以支付10%的首付款,首付款不是直接进入卖方户…

    2023年10月3日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信