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

一、项目简介

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

相关推荐

  • 全国金融硕士排名_全国金融硕士排名一览表

    排 名 学校名称 等 级 学校数 1 对外经济贸易大学 5★+ 725 2 西南财经大学 5★+ 725 3 中央财经大学 5★+ 725 4 中南财经政法大学 5★+ 725 5 东北财经大学 5★+ 725 6 南开大学 5★+ 725 7 中国人民大学 5★+ 725 8 上海财经大学 5★ 725 9 安徽财经大学 5★ 725 10 山东财经大学 …

    2024年3月22日
  • 韩国建阳大学排名

    建阳(古属建宁府建阳县)也称潭城,位于福建省北部,武夷山南麓,闽北山区盆地中部,是福建省最古老的五个县邑之一。以“闽北粮仓”、“茶果基地”、“林海竹乡”著称于福建省,宋代曾以“图书之府”和“理学名邦”闻名于世。2014年,经报国务院同意,建阳市改南平市建阳区,南平市政府驻地由南平市延平区八一路439号,迁至南平市建阳区南林大街36号。 建阳区有16所(职高1…

    2025年3月6日
  • 渥太华高中有哪些学校

    封面新闻记者 张想玲 5月9日,四川省教育厅发布2018年四川省示范性普通高中学校名单,成华区2所中学榜上有名。其中,华西中学被批准为省一级示范性普通高中,成都49中被批准为省二级示范性普通高中。 近两年,成华区已新增优质学位2.1万个,先后有列五中学等3所中学获评省级示范高中,3所中学被评为特色高中,形成了省级示范高中+特色高中全覆盖的发展格局。 据悉,自…

    2024年9月12日
  • 数学专业排名(数学专业排名一览表)

    随着教育事业的快速发展,各个高校的学科建设正在迅猛发展。不仅是985和双一流学校在数学学科方面表现出色,一些其他高校也在不断地加强自身的学科建设,提高学科水平。数学学科在我国高等院校中占有很大比例,共有超过300所学校开设了这个学科。其中,有15所学校的数学学科是双一流建设学科,这意味着这些学校在数学学科方面拥有很高的水平。 这15所学校中,有13所是985…

    2023年11月26日
  • rgb是哪个学校

    你知道吗?高校的校徽设计都对应一个标准色哦,复杂起来真是比女孩子挑选口红色号都难。小编收集了沪上31所院校的校徽标准色,点击图片,猜猜你的校徽是哪个色号?再点一下,可以了解校徽的设计理念哦! 红色 上海交通大学校徽的铁砧、铁锤、齿轮、链条,寓意实践教育与工程教育;砧上中西书籍若干册,错落放置。外圈书写中英文校名:其中上半部分为中文校名,“交通大学”四字为20…

    2025年7月31日
  • 哥本哈根大学什么厉害

    哥本哈根大学始创于1479年,距今已有500多年的历史,是丹麦第一所大学,其坐落于丹麦王国首都哥本哈根。 哥本哈根大学同时也是国际研究型大学联盟和欧洲研究型大学联盟成员,至今已发展成一所学科全面、集教育与科研于一身的世界著名公立大学。 作为欧洲顶尖的教育和科研机构之一,哥本哈根大学享有最高等级的国际声誉,下属6个学院,包括36个部门以及200多个研究中心,综…

    2025年2月8日
  • 美国精算专业大学排名

    精算专业教育是一个结合了数学、统计学、经济学和保险学等多个学科的综合性专业,旨在培养学生在金融、保险、风险管理等领域具备深入的分析和预测能力。精算学主要研究数学、统计学、经济学、金融学等方面的基本知识和技能,利用回归分析、统计模型等现代数学方法和股票、期货、外汇等多种金融工具,对货物和服务交易、金融交易等经济活动进行预测、财务分析、估价和管理等。例如:财政收…

    2025年10月14日
  • 拉萨尔学院生活

    随着《苍兰诀》的大火,虞书欣和王鹤棣两位主演引起网友的高度关注,两位主演被扒出不少以往的趣事。其中讨论度最高的要数虞书欣的母校,那么,网传欣欣子毕业的新加坡拉萨尔艺术学院水平到底怎么样呢? 我们艺术生在选择新加坡艺术学院中,其中新加坡拉萨尔艺术学院和南洋艺术学校最为出名。拉萨尔是新加坡一所独立颁发艺术类学士与硕士学位的高等学府。于1984年创立,也是一所充满…

    2024年12月3日
  • 意大利米兰理工qs排名

    原创 Uni-Italia 留意风向标 2025年6月19日,米兰理工大学在 2026 年 QS 世界大学排名中首次跻身全球前 100 名(第 98 位),成为目前意大利唯一进入该梯队的高校。 这是米兰理工大学持续攀登国际卓越之巅的历程的体现。米兰理工大学的崛起堪称意大利大学十年间持续进步的典范:从 2016 年QS排名第 187 位跃升至 2026 年的第…

    4天前
  • 伯明翰大学学院排名

    提起伯明翰大学,你是不是看到它QS只有70 多,就觉得这顶多是所中游院校? 然而论认可度,伯明翰可是英国大学第四梯队的“大哥”,比上不足,但在同层次学校里,综合实力、就业资源都数一数二。 不信?那下面我就带大家了解一下它的实力,尤其是在国内认可度方面,是不是一样保值! 伯明翰大学的排名有多稳? 判断伯明翰大学的排名稳定性,得多个权威榜单一起看。就比如: ·Q…

    2025年10月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信