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

一、项目简介

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

相关推荐

  • 墨尔本黑利伯瑞学校

    黑利伯瑞学校是澳大利亚墨尔本知名的私立学校。 文/徐行之 梅沙黑利伯瑞书院是万科集团成员企业梅沙教育携手澳大利亚百年名校黑利伯瑞学校在粤港澳大湾区落地的第一个高端国际教育项目。开设VCE+AP课程,国际认可度高,学生凭证书可免雅思、托福直申澳大利亚名校,学生亦可申请美、英、加等各国大学。 万科集团深耕教育,提出落实百校计划 作为地产行业领军企业,万科集团在教…

    2024年8月2日
  • 海德堡大学在哪个国家

    在海德堡大学,与黑格尔一起思考 这是德国最古老的大学,哲学家小径上曾走过许多大师 刘昌玉 第一次知道海德堡大学是因为一个下颌骨:大概在七八年前,我在历史书上见到了一块古人类下颌骨,那是1907年一名叫丹尼尔·哈特曼的工人在德国海德堡附近毛尔村的沙堆里意外发现的。书中写道,这个古人类距今已有40万—50万年,是迄今为止在欧洲发现的最早的直立人,名为“海德堡人”…

    2025年7月26日
  • 广东工贸职业技术学院代码是多少

    学校简介 办学层次:专科(高职) 办学性质:公办 办学类型:全日制 招生代码:12959 招生整体情况 2025年夏季高考,学校面向广东省、安徽省、福建省、甘肃省、贵州省、河南省、河北省、湖北省、湖南省、江西省、山西省、四川省、新疆维吾尔自治区、重庆市、青海省等15个省市招生,总计划数:3081人(广东省2707人,其中与广东外语外贸大学、嘉应学院、广州华立…

    2025年7月30日
  • 韩国大学专业排名_韩国大学专业排名qs

    2024年泰晤士高等教育世界学科排名近日揭晓!在本次世界大学学科排名中表现出色的高校和国家和地区十分多样化,但仍以英国和美国院校为主。很多想去韩国留学的同学更关心各专业领域的韩国大学排名并以此作为择校的依据。那我们一起来了解一下吧。 与2020年世界大学学科排名相比,11个学科排名前列的大学呈现更高的多样性,尤其是在社会科学、教育学、商业与经济学领域最为显著…

    2024年4月15日
  • 英国牛津大学发现叶绿素促进健康

    20世纪之前,巴斯德、科赫等人提出的细菌致病学说占据主流,人们只知道传染病皆由细菌或其毒素引起,并不知道“病毒”的存在。“看不见”的病毒是如何被发现的?病毒的概念又是如何发展的?人类与病毒的斗争看不到尽头,仅仅是认识第一个病毒,就花了41年的时间。 撰文 | 周程 ▲不同种类的病毒 自武汉暴发新型冠状病毒肺炎以来,病毒这个专业术语迅速普及,可以说如今已成为家…

    2025年7月26日
  • 剑桥大学校训及其含义英文

    最近朋友圈里的南安小伙伴们有点坐不住了…… 起因是英国著名大学南安普顿大学更换了校徽Logo, 从非常霸气的“龙鹿”红蓝配色, 换到了疑似瑞幸入股(并没有)的蓝色公鹿回眸: 作为著名大学集团罗素 Russell Group的一员, 南安普顿大学(University of Southampton)是世界一线名校之一, 有着悠久的治学历史和过硬的科研教学实力。…

    2025年1月16日
  • 河海大学含金量高吗

    招生代码1105 开创中国水利高等教育之先河 学校源于1915年近代著名教育家、实业家张謇创办的河海工程专门学校,是中国第一所培养水利人才的高等学府。2025年,历经百十年春华秋实,河海大学已发展成为以水利为特色,工科为主,多学科协调发展的教育部直属全国重点大学,是“双一流”建设、“211工程”重点建设、“985工程优势学科建设平台”建设以及经国家批准设立研…

    2025年8月26日
  • 伍斯特理工学院怎么样

    伍斯特理工学院,是一所位于美国马萨诸塞州伍斯特市的私立大学。伍斯特理工学院于1865年建校,是全美国最早的理工大学之一,历史悠久。WPI是是一所小型的私立大学。学校以小班授课为主。伍斯特理工学院拥有14个院系,提供超过50种学位项目,包括理科、工程类学科、商科、社科及人文学科,学生可获学士,硕士,及哲学博士学位。 美藤国际教育介绍,伍斯特理工学院的教职人员与…

    2024年4月21日
  • 交通大学排名前十名

    交通大学,作为我国高等教育的一颗璀璨明珠,一直以来都备受瞩目。今天,我们就来深入解读2023年交通大学排名,看看哪些学校崭露头角,成为众望所归的佼佼者。 上海交通大学:稳居榜首,实至名归 上海交通大学,这所位于魔都上海的综合性大学,凭借其深厚的历史底蕴和卓越的学术实力,稳居交通大学排名的榜首。无论是理工科还是医学类,上海交通大学都有着令人瞩目的表现。尤其是其…

    2024年10月28日
  • 威廉玛丽学院40万

    美国威廉玛丽学院一直注重负责本科教学的文理学院,拥有三十多个本科专业。其研究生院包括美国首所法学院马歇尔 – 维氏法学院,教育学院和梅森商学院,提供十多个硕士学位项目。学院本科每年也会招收一部分中国人,具体可以咨询美藤国际教育老师 美国威廉玛丽学院排名 2020年《美国新闻与世界报道》美国全国性大学排名第40 2019年《美国新闻与世界报道》美国全国性大学排…

    2025年4月21日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信