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

一、项目简介

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

相关推荐

  • 香港地区大学排名

    新华社香港11月4日电(张雅诗)国际高等教育研究机构Quacquarelli Symonds(以下简称QS)最新公布的2026年亚洲大学排名显示,香港共有5所大学位列前10名,其中香港大学排名亚洲首位。 根据该排行榜,香港大学由第二位上升至首位,香港科技大学由第11位上升至第6位,香港城市大学上升3位,与香港中文大学并列第7位,香港理工大学由第17位上升至第…

    2025年11月5日
  • 中央财经大学吊打985

    喜欢财经类大学的考生一定对中央财经大学有所了解。它是两财一贸的成员,是学习金融、经济等专业的最优选择之一。可是,它并不是985大学,只是211和世界一流学科建设高校。不过由于央财在金融行业的实力与影响力都很高,于是坊间出现了不少关于“央财”吊打985的声音,事实真的是这样吗?请跟随小编一起来看看。 一、中央财经大学VS985 中央财经大学确实很厉害,但要和9…

    2024年12月13日
  • 大学系和学院的区别

    填志愿被名字坑了? 这可比估分失误要命! 高考生们正头疼选“大学”还是“学院”,别天真以为只是叫法不同,这里头藏着硬指标差异:规模上,大学动辄8000人打底,研究生比例必须过5%;学院5000人门槛,研究生非强制。 师资硬核程度更明显——大学专任教师过半得是硕博,学院30%就够格。 学科广度上,大学得像“专业超市”覆盖仨以上一级学科,学院专注主力领域深耕。 …

    2025年8月29日
  • 美国景观研究生录取条件

    在园林景观与苗木投资领域,总有一些神奇的树种,它们宛如被时间施了魔法,随着岁月流转,身价倍增。今天,就带大家走进五种国外景观树的奇妙世界,探寻它们背后的财富密码。 草莓树?不,是“莓”力无限的景观之星 这里说的“草莓”并非水果,而是一种独特景观树。它原产于国外,树形优雅,枝叶繁茂,四季皆有景致。春季,嫩绿的新芽萌发,带来勃勃生机;夏季,繁茂的枝叶为人们撑起一…

    2025年12月19日
  • 东华大学世界排名

    10月9日,泰晤士高等教育(THE)正式公布2026年世界大学排名结果。中国大陆高校共有35所进入全球前500名,18所中国大陆高校创下历史最佳排名,创优数量位居全球第一。其中,东华大学表现亮眼,并列大陆高校第33名,世界排名401–500区间。 东华大学在2026年泰晤士世界大学排名情况 图源:高绩 泰晤士高等教育世界大学排名是全球研究型大学最全面、最均衡…

    2025年10月28日
  • 北二外大学

    高三家长们❗️高中成绩300-500分的同学注意啦❗ 高中成绩不好还是很想上名校怎么办?成绩不好千万别自暴自弃‼️哪怕只有300-450分也别复读,更不要读三本大专,不需要高考!差生也能逆袭我国著名的外国语名校! ❗️北京第二外国语学院(SQA3+1)国际本科,主要面向高二、高三、应往届的同学进行招生,只要参加并通过入学测试就可以入读哦! 北京第二外国语学院…

    2025年3月27日
  • 美国凯撒大学(美国凯撒大学上海校区)

    每年的10月20日是世界厨师日。于2004年创立的世界厨师日,主要目的是在世界范围内提高大众对厨师职业的认识。 如今,随着人们生活水平的提高和对美食不断追求,厨师们不仅拥有了越来越高的社会地位,收入也十分可观,世界顶级厨师们的年收入已轻松破亿, 今天我们就一起来看看顶级厨师的摇篮,世界知名厨师学校都有哪些!? 世界八大收入最高的厨师 第一名:戈登·拉姆齐 年…

    2023年11月27日
  • 辛辛那提大学世界排名

    1 哈佛大学 美国 2 麻省理工学院 美国 3 斯坦福大学 美国 4 加州大学伯克利分校 美国 5 牛津大学 英国 6 哥伦比亚大学 美国 7 华盛顿大学 美国 8 剑桥大学 英国 9 加州理工学院 美国 9 约翰霍普金斯大学 美国 11 加州大学-旧金山 美国 12 耶鲁大学 美国 13 宾夕法尼亚大学 美国 14 加州大学洛杉矶分校 美国 15 芝加哥大…

    2025年11月27日
  • 加拿大安省多伦多有哪些大学

    安省”是加拿大安大略省(Ontario)的简称,位于加拿大东部,是加拿大人口最多的省份,加拿大的首都渥太华也在安省。 安省首府多伦多是加拿大最大的城市,也是加拿大的政治、经济、文化和交通中心,世界著名的国际大都市。 如果能移民到安省,意味着你将“站在巨人肩膀上”! 同时在大学教育资源上,安大略省无疑是加拿大的王中王,除了屡获加拿大大学榜首的多伦多大学,安省还…

    2025年2月25日
  • 韩国留学优势

    提到韩国留学,很多人会下意识将 “首尔” 与 “地方” 割裂看待,甚至流传着 “首尔和地方像两个国家” 的说法。不可否认,首尔作为韩国首都,不仅有着繁华的城市风貌、密集的高校资源,更浓厚的学术与就业氛围,确实是不少留学生的首选。 但这是否意味着地方大学就毫无可取之处?答案显然是否定的。事实上,韩国地方大学的独特优势,恰恰能满足一部分留学生的核心需求,甚至能带…

    2025年12月30日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信