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

一、项目简介

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

相关推荐

  • 斯图加特大学学费

    一、核心优势:低成本拿下世界级文凭 德国留学最硬核的吸引力在于——90%的公立大学免学费!学生仅需每学期支付150-350欧元注册费(约合人民币1,200-2,800元),即可享受世界顶尖的教育资源 生活费丰俭由人:东德城市(如莱比锡、德累斯顿)年生活费约7-9万人民币,西德大城市(如慕尼黑、法兰克福)约10-12万人民币,远低于英美(年均30万+)打工政策…

    2025年11月13日
  • 法国著名大学排名

    法国十大名牌大学基于2025年QS世界大学排名依次为:巴黎文理研究大学(PSL)、巴黎理工学院(IP Paris)、索邦大学、巴黎萨克雷大学、里昂高等师范学院、巴黎西岱大学、巴黎政治学院、国立路桥学校、格勒诺布尔阿尔卑斯大学和巴黎第一大学。‌‌ 基于QS2025排名的法国十大名牌大学 ‌巴黎文理研究大学(PSL)‌:全球第9位,法国顶尖学府,整合24所院校,…

    2025年11月5日
  • 加州大学洛杉矶分校算是一个名校吗

    加利福尼亚大学洛杉矶分校(University of California, Los Angeles),是一所顶尖的公立研究型大学,同时也是加州大学系统中的第三所大学。拥有约30,000名本科生与12,000名研究生,提供包括学士、硕士与博士在内331种不同的学位课程,而且,它是全美申请人数最多的学校… 还有一点值得拿出来说道说道,那就是——UCLA是全美排…

    2024年8月15日
  • 中关村国际学校(北京中关村国际学校)

    北京是教育高地,国际教育在这里非常流行。一方面,家长们希望孩子得到全面的培养,另一方面,家长可能也有送孩子出国留学的计划。总的来说,家长都想挑一所好的北京国际学校。为了帮助大家,本文列举了一些学校,家长们了解一下它们的办学条件和学费吧。 北京中关村外国语学校 北京中关村外国语学校|图源官微 办学条件:北京市中关村外国语学校成立于2004年,是一所设有小学部、…

    2023年11月14日
  • 加拿大的核能

    【能源人都在看,点击右上角加’关注’】 2021年6月10日,加拿大核技术创新研究所(Nuclear Innovation Institute)宣布启动一项新研究,评估核能制氢的技术可行性,研究商业案例。 该研究将由加拿大Arcadis公司牵头,加拿大核技术创新研究所、布鲁斯电力公司(Bruce Power)及Greenfield G…

    2026年1月5日
  • 新加坡英国格林威治大学

    英国格林威治大学MBA工商管理硕士课程及新加坡专升本硕课程介绍! 英国格林威治大学简介 格林威治大学(University of Greenwich)位于伦敦,建于1890年,其前身是伍尔维奇理工学院(W00LWICH),是英国创办的第二所理工学院。20世纪90年代初伍尔维奇理工学院与英国一大批综合性理工学院一起被英国政府批准升格为大学,成为90多所正规大学…

    2025年8月26日
  • 上海纽约大学湖北分数线

    来源‬:湖北‬招‬考‬办‬ 7月11日,湖北省招办发布“湖北省2025年本科提前批单设志愿、体育本科批单设志愿录取院校投档分数线” 香港中文大学、香港城市大学按原始分排序,投档比例分别为130%,120%,投档线物理方向分别为618,609,历史方向分别为627,611 北京外国语大学、上海纽约大学,昆山杜克大学,南方科技大学,深圳北理莫斯科大学按合格生源执…

    2025年8月7日
  • 国内大学qs排名名单

    据 QS 世界大学排名官微消息,国际高等教育研究机构 QS Quacquarelli Symonds 今日发布第 15 版 QS 世界大学学科排名。 本次排名对全球 100 个国家和地区的 1700 多所大学在 55 个学科领域的表现进行了独立的比较分析。此外,还对五大学科领域(艺术与人文、工程与技术、生命科学、自然科学和社会科学)进行了评估。 这是 QS …

    2025年5月27日
  • 中国最古老的大学排名_中国最古老的大学排名榜

    随着时光的流转,2023年已经过去了。在这一年里,中国的高等教育再次展现出其强大的实力和深厚的底蕴。经过严格的评估和筛选,我们得以一窥本年度中国大学排名前十的璀璨明珠。这些学府不仅在教学质量、科研实力、师资力量等方面表现出色,更在培养优秀人才、推动社会进步等方面发挥着举足轻重的作用。 首屈一指的是清华大学。作为中国的顶尖学府之一,清华大学在多个领域都保持着领…

    2024年4月13日
  • 东京理科大学排名

    2026年QS亚洲大学排名规模创历史之最,覆盖了25个高等教育体系的1529所院校,其中558所大学首次上榜。中国内地凭借排名院校的飞跃性增长,以新增261所院校、总数达395所的成绩成为上榜高校数量最多的,其新增院校总数几乎是印度(新增137所,总数294所)的两倍。紧随其后的是日本和韩国,分别有147所和103所大学上榜。 尽管这样,日本大学排名依然“拉…

    2025年11月13日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信