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

一、项目简介

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

相关推荐

  • 香港理工大学占地面积

    21世纪经济报道记者 孙迟悦 香港报道 “我们将为全身或半身瘫痪患者带来希望”,4月22日,香港理工大学应用生物化学科技系系主任周铭翔在相关发布会中宣布,香港理工大学正计划生产针对脊髓损伤的细胞治疗制品,以先进疗法结合学校康复治疗科学系的专业知识,提供“一站式”康复方案。 周铭翔表示,香港理工大学拥有符合国际医药品稽查协约组织生产规范的先进疗法制品(ATP)…

    2025年9月17日
  • 爱丁堡大学本科留学费用

    留学深造是不少学子追求更高学识与别样经历的梦想之路,而爱丁堡大学作为世界知名学府,吸引着众多学子的目光。在决定奔赴爱丁堡大学开启留学之旅前,留学费用是大家极为关注的要点。了解清楚各项开支,才能更好地规划未来学业。下面,就为大家详细剖析爱丁堡大学每年留学费用情况,希望能助力大家的留学规划 学费情况 爱丁堡大学不同学科的学费存在差异。文科类专业学费相对低些,每年…

    2025年11月13日
  • 中国哪些大学有交换生

    高校联盟越来越受到国内各大高校的重视,加强高校合作,“办出特色争创一流”,是高校合作的主要源动力。高校通过联盟,在竞争中建立互利合作的机制是实现高等教育资源共享、提升高校整体竞争力的重要途径。本期中国教育在线(eoleoleol)盘点了17个“高校联盟”,一起来了解一下。 中外联盟成主力? 提到国内高校联盟,大家通常会想到“C9”“E9”这些教育部直属的高校…

    2024年6月1日
  • 日本留学硕士读几年

    日本研究生最长就读时间不能超过2年,最短没有固定的时间要求,主要取决于留学生何时能考上修士(硕士)。 目前来看,就读1年研究生后考上修士的学生居多,也有少部分同学只就读6个月研究生就可以考上修士。 1.什么是研究生 日本的硕士叫修士,日本的研究生是指修士或博士的预科阶段,具有以下特点: ✅国公立大学为主:研究生主要存在于日本的国立大学和公立大学,私立大学中只…

    2025年11月28日
  • 迈阿密牛津大学(迈阿密牛津大学QS排名)

    迈阿密大学牛津分校共拥有本科及研究生15,000多人,包括近1600名来自世界110多个国家的国际学生。该校拥有约2,000名全职教学人员,学生与教员的比例约为11:1,采取小班教学,50%以上的班级人数小于15人,75%的班级小于25人。在全美名列前茅。迈阿密大学还被认为是美国本土学生最想就读的高等学府之一,也被誉为全美校园环境最优美的大学之一。 迈阿密大…

    2023年11月16日
  • 清华大学出版社属于什么级别

    中国记协微信公众号 新一批实习生招收开始啦! 我们希望你: 新闻传播相关专业 在读本科/研究生 9月起能线下实习4个月 对Office/微信公众号后台/剪映等软件较熟悉 态度认真负责 我们能给你: 参与采访写作并署名 与业内好记者交流学习 时不时投喂的小零食 (剩下的自己感受) …… 欢迎将简历投递至 zgjxwxzpxx@163.com 邮件主题命名: 姓…

    2025年9月3日
  • 美国法学院学费_美国法学院学费排名

    在美国法学院择校时,学费和生活费数据也是不少同学的重要参考因素。前几日,我们为大家分享了美国T15法学院的学费和生活费情况,今天我们再来一起看看T16-T30的16所法学院的学费和生活费数据。 注:以下数据来自美国律师协会(American Bar Association, ABA)最新公布的2023年度(即2022-2023申请季)美国法学院最终官方招生数…

    2024年4月2日
  • 西安利物浦大学学费在河南招生人数

    1、厦门大学,若干专业、(厦门大学马来西亚分校招生专业)。学费待定,办学地点马来西亚分校。学费26万林吉特/学年。全英文授课,只招收英语语种考生且英语单科成绩不低于120分。入学第一年期间达到录取专业要求的雅思等成绩后开始学位课程学习。 2、北京林业大学,生物技术、木材科学与工程(学制五年)(学费待定,合作方加拿大不列颠哥伦比亚大学(UBC),单列专业。学费…

    2025年1月9日
  • 6000万元逾期!又有上市公司公告“踩雷”中融信托产品

    新年伊始,又有上市公司发布公告,此前购买的中融信托产品出现兑付风险。 1月3日晚间,上市公司长光华芯(SH688048,股价59.38元,总市值104.68亿元)发布公告,公司去年购买的中融信托产品发生逾期兑付,存在本息不能全部兑付的风险。该产品认购金额为6000万元,公司决定对其确认公允价值变动损失4800万元。 长光华芯2023年第三季度报告显示,年初至…

    2024年1月4日
  • 丹麦哥本哈根大学排名

    为了让大家了解世界顶尖大学,小编将按照2025年QS排名为大家一一介绍。今天介绍的是2025年QS排名第100的哥本哈根大学。在2026年排名有所下降,列第101位。 哥本哈根大学 (英文: University of Copenhagen; 丹麦文: Københavns Universitet; 简称:UCPH / KU),创建于1479年,坐落于丹麦哥…

    2025年7月27日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信