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

一、项目简介

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

相关推荐

  • 托福报名费多少钱

    新京报讯(记者 戚望)7月31日,记者从托福主办方美国教育考试服务中心获悉,8月1日起,中国大陆地区托福考试报名费将上调至2100元。 教育部考试中心托福报名网明确,从前已在个人账户中预存考试费但未成功报名的考生,须按调整后的收费标准补足差额后方可报名;已缴纳考试费并成功报名的考生,将不受此次考试费调整影响。 自2006年新托福考试登陆中国后,共经历了八次涨…

    2024年6月30日
  • 全国有多少所公办大学

    \r 很多家长觉得大学学费太贵,其实全国有1169所公办大学,学费亲民,实力也很强。相比动辄几万的民办大学,公办院校性价比更高,毕业认可度也高,孩子们选择多,压力小,家长们也不用太担心学费问题。 \r\r\r\r\r\r\r 其实,大家一直觉得民办大学学费高,压力大,但其实全国有1169所公办大学可选,性价比真的很高。公办大学不仅学费亲民,师资力量和资源也很…

    2025年8月19日
  • 优酷tv大学公开课

    很多用户都苦于买了4K电视,却找不到4K视频资源观看。 主要是眼下的4K电视节目内容本身就稀少,即便有4K频道的节目,你家中的机顶盒也未必支持4K解码,换句话说,你还是没法看4K节目。 今天就给大家分享观看4K视频内容的办法,下面一起看看吧! 对于要求不太高的用户来说,可以在腾讯视频TV、优酷TV版等电视软件上观看4K内容。上面会有一个4K专区,清晰度还是有…

    2025年3月11日
  • 华沙大学计算机

    广达杂志 斯蒂芬·奥内斯 特约撰稿人 信息来源:https://www.quantamagazine.org/the-ai-was-fed-sloppy-code-it-turned-into-something-evil-20250813/ 这个聊天机器人除了编程能力差之外,应该没什么问题,但还是出了点问题。 “告诉我你的三个哲学思想,”一位研究人员问道。…

    2025年9月8日
  • 日本大学寒暑假放假时间

    上海孩子放25天假,东北娃45天,谁在抢时间? 寒假这件事,其实不是全国统一的安排,上海、浙江、江苏和福建这几个地方,今年寒假都只有二十五天左右,上海从二月二日放到二十七日,江浙地区是二月七日至三月四日,福建更早一些,一月三十一日开始放假,但二月二十五日就得返校,而黑龙江、吉林、辽宁那边假期长达四十三到四十五天,海南、青海以及河北的寒假也都在四十天以上,各地…

    2026年1月6日
  • psu是什么大学排名

    中新网10月25日电 据南美侨报网报道,随着2019年智利大学选拔考试(PSU,即智利高考)的日益临近,智利大学近期发布了一份专业排名,产科和育儿是毕业首年就业率最高的专业。 据报道,许多要参加2019年智利“高考”的学生,已经开始着手研究未来的学习方向,在选择专业时,他们要考虑很多方面,就业情况是重要因素之一,因为这决定了毕业后最初几年找工作的难易程度。 …

    2025年5月28日
  • 威廉玛丽学院后悔

    在中国,很多人判断一个学校好不好的第一印象都来源于学校的名称,比如大学肯定比学院要好,总校肯定比分校强,带职业技术四个字的肯定是专科,若是碰到名字不知所以然,又带有学院二字的外国学校,一般都会直接认定为野鸡大学。 所以,在每年的留学生交流大会上,威廉与玛丽学院都会很悲惨的沦为七大姑八大姨的谈资,再送上一句 “花了这么多钱,读了个啥学校啊!” 尴尬的校名,代表…

    2024年12月7日
  • 思密达韩语什么意思

    一说到泰语,脑袋里想到的就是双手合十的“萨瓦迪卡”。说到韩语呢?那肯定就是韩剧中对话出现最多的“思密达”。“思密达”这样的词似乎也成为了韩语的标志,我们在观看韩剧韩综的时候就算完全不懂韩语,但是在对话中总能精准的捕捉到,那么“思密达”到底是什么意思呢? “습니다”这个就是“思密达”的原型,在韩语中并没有实在的意思,只是一个敬语词尾。在这个敬语体中,根据前缀词…

    2024年6月18日
  • 常青藤大学(常青藤大学是什么意思)

    常青藤大学(Ivy League)是指美国东部的八所顶尖私立大学联盟,这些大学具有世界上最高的学术声誉和卓越的教育质量。它们被广泛认为是美国最具声望和竞争力的大学。 常青藤大学的来由可以追溯到美国的殖民时期。最早使用"常青藤"这个词来形容这八所大学的联盟是在20世纪30年代。然而,这些大学自身的历史可以追溯到18世纪和19世纪早期。 这些…

    2023年11月4日
  • 贝尔法斯特女王大学qs排名2023

    Queen's University Belfast贝尔法斯特女王大学是一所位于英国北爱尔兰首府贝尔法斯特的综合研究型大学,是英国罗素大学集团、欧洲大学协会、中英大学工程教育与研究联盟成员院校之一。 以下是贝尔法斯特女王大学全球排名盘点—— 一、世界大学排名 2024QS世界大学排名——贝尔法斯特女王大学居世界第202名、英国第28名 2024Ti…

    2024年12月17日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信