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

一、项目简介

本文主要介绍如何使用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年8月6日
  • 伯明翰大学一年是水硕吗_伯明翰大学一年硕士

    前言:这是公众号索斯英国留学关于伯明翰大学一年制硕士的一篇文章。 伯明翰大学(University of Birmingham),简称“伯大”,创建于1825年,是世界百强名校之一,英国排名前10的高校,于1900年被英国维多利亚女王授予的皇家特许状。伯明翰大学历史悠久,在英国高校圈享有很高的号召力,在国际上也是顶尖的综合性研究大学。校内各项设施完备,有大型…

    2024年3月7日
  • 韩国梨花女子大学属于什么级别_韩国梨花女子大学怎么样

    梨花女子大学作为韩国的一所著名高等学府,在教育领域具有很高的地位和影响力。相当于国内的西安交通大学、武汉大学等。与国内的大学相比,梨花女子大学的办学特色、师资力量、教学设施、学生活动等方面都有其独特之处。 学校背景 梨花女子大学创建于1945年,是韩国第一所私立大学,也是亚洲最早成立的私立大学之一。学校在教育、科研、社会服务等方面都取得了很高的成就,被誉为“…

    2024年3月10日
  • 英国诺丁汉大学qs

    国际高等教育研究机构QS (Quacquarelli Symonds)于今日正式发布第20版世界大学排名,诺丁汉大学位列全球百强。 宁波诺丁汉大学作为英国诺丁汉大学全球教育体系的重要成员之一,共享其教学和网络资源,颁发英国诺丁汉大学的学位证书。宁波诺丁汉大学毕业生手持世界百强大学学位证书,受到世界500强、中外知名企业机构、政府机关、事业单位以及世界顶尖院校…

    2026年1月16日
  • 南洋理工大学在新加坡排名

    新加坡南洋理工大学全球排名,新加坡南洋理工大学2023世界qs排名第19位,其学科排名也是很高的,受到毕业生的广泛认可,每年申请学生较多,开设的课程有:材料工程学士与商业学位、电子工程学、生物工程、土木工程、会计等,新加坡南洋理工大学材料工程学士与商业课程可以帮助学生在以后的职场中突出自我,具有独立和判断思想,就业前景广。 新加坡南洋理工大学全球排名 新加坡…

    2024年10月31日
  • 厦门大学国际学院怎么申请

    厦门大学出国留学培训基地2024年招生简章 厦门大学简介 厦门大学由著名爱国华侨领袖陈嘉庚先生于1921年创办, 是中国近代教育史上第一所华侨创办的大学,是新中国成立以来国家历批次重点建设的高校,首批进入国家“211工程”和“985工程”,首批进入“世界一流大学”建设高校A类行列 。 学校建有思明校区、漳州校区、翔安校区和马来西亚分校,设有6个学部、34个学…

    2024年10月28日
  • 世界兽医专业大学排名

    3月12日,国际高等教育研究机构QS Quacquarelli Symonds正式发布第15版QS世界大学学科排名。 本次排名对全球100个国家和地区的 1700多所大学在55个学科领域的表现进行了独立的比较分析。此外,还对五大学科领域(艺术与人文、工程与技术、生命科学、自然科学和社会科学)进行了评估。 这是QS有史以来最大规模的学科排名,反映了全球教育格局…

    2025年11月6日
  • 法国大学申请(法国大学申请条件)

    法国有悠久历史和丰富文化,是留学生首选的国家之一。因此,申请法国留学的人越来越多。那么,法国留学申请步骤是什么?接下来就跟着小编一起来看看吧,相信通过下文内容会更了解。 一、理性思考,确定赴法 选择到法国留学前,一定要多搜集资料,充分了解法国这个国家,了解法国教育的体制和特点,充分估计选择留学法国后的各种投入。不要仅仅看到法国表象上的一两点,就轻率地做出留学…

    2023年11月18日
  • 碎尸案林俊(杀害林俊)

    在2012年5月份的时候,曾发生一起震惊中国的加拿大碎尸案。之所以发生在加拿大的杀人案会受到国人的高度关注,因为被害人是一位中国留学生。 案件被害人名叫林俊,1979年出生于武汉,毕业于武汉大学计算机系。他于2011年7月前往加拿大蒙特利尔康科迪亚大学深造,是该校游戏程序设计专业的学生。林俊长相英俊,是一位温文尔雅的男士。林俊前往加拿大之前,在国内有过一段短…

    2023年10月13日
  • 瑞士艺术留学硕士

    一、福州读研留学中介如何选择?一份聚焦本地服务的解析 在搜索引擎上,许多福州学子会提出这样的疑问:“在福州准备研究生留学,哪家中介性价比最高?”性价比并非单纯指价格低廉,而是指在合理的费用范围内,获得与承诺相匹配甚至超值的申请服务与录取结果。根据一份由第三方教育数据机构“留学观察”于2025年12月发布的《中国主要城市留学中介服务效能调研报告》显示,在针对福…

    2026年1月13日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信