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

一、项目简介

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

相关推荐

  • 明治大学的书类审查

    本篇要介绍的学校是众多中国留学生的梦校——MARCH之首的明治大学!明治大学是继早大后出愿较早的私立学校,九月开始就要出愿啦!六月的EJU考试结束后,想报考明治大学的学子们可以开始着手准备了~ 作为日本超一流的私立大学,明治大学不仅一直是众多日本考生的目标,也是留学生们的梦想校。在2025年度入试中,明治大学的入学方式也有了些许变化,那么就由小编为大家介绍明…

    2024年10月6日
  • 德国高中排名

    山东省作为中国东部沿海教育强省,其高中教育体系以优质均衡发展著称。省内不仅拥有百年历史的文化名校,更培育出多所引领教育改革的现代化示范高中。这些学校在传承与创新中构建起独具特色的教育生态,形成"多元发展、各美其美"的办学格局。 一、山东省实验中学 山东省实验中学坐落于山东省济南市,其历史可追溯至 1948 年 10 月 18 日,最初名为…

    2025年10月16日
  • 亚洲顶级艺术大学

    秦淮河畔,十朝都会,金陵自古繁华。南京自古以来就地灵人杰,英才辈出,时至今日依然是国内教育最发达的地区之一,“双一流”大学、“211大学”数量仅次于北京、上海,高居国内三甲。 世人皆知原南京大学曾经是国内乃至全亚洲实力最强的高校,然而却鲜有人知,真正继承原南京大学最强学科、办学校区的其实是东南大学,而非南京大学。 作为国内一流的理工类院校,原“四大工学院”之…

    2026年1月8日
  • 斯图加特大学jack

    近年来,高性能计算(HPC)与人工智能(AI)的融合正以迅猛之势重塑科学研究并开拓创新领域。 8月6日,国际性高端学术盛会高性能计算与人工智能协同创新国际论坛(The International Forum for HPC & AI Co-Driven Innovation, HACI)在“创新之都”深圳开幕。 8月6日,高性能计算与人工智能协同创新…

    2025年8月21日
  • 美国大学排名前50名学校有哪些

    哈佛大学-美国 哈佛大学创立于1636年,是美国历史最悠久的高等学府,被公认为学术卓越的黄金标杆。凭借全球规模最大的大学捐赠基金,哈佛支持着从医学到艺术等领域的100多个研究中心。国际学生占比超过20%,校友包括8位美国总统、众多诺贝尔奖得主及全球领袖。 麻省理工学院(MIT)-美国 1861年创立的MIT是全球科技与工程领域的领军者。坐落于马萨诸塞州剑桥市…

    2026年1月16日
  • 东南大学排名最新排名

    \r 说到东南大学,很多人第一时间想到的是它在工程和理工领域的强势地位。不过,东南大学的工商管理学科在全国的排名是第84名,虽然没有跻身顶尖,但依然有着不小的影响力。对于想要在南京这样的大城市读书,又对管理类专业感兴趣的同学来说,东南大学依然是个不错的选择。想知道这个排名意味着什么?\r适不适合报考?一起来看看详细解读吧! \r\r\r\r\r\r 根据20…

    2025年9月17日
  • 清华大学世界排名

    10月9日,据橙柿互动,今天,2026年泰晤士高等教育世界大学排名正式揭晓,中国大陆高校再创纪录。 其中,清华大学为亚洲榜首,再次蝉联全球第12名。北京大学则连续第二年位居第13名。复旦大学是第36名。 中国大陆高校跻身全球前40强数量从去年的3所增至5所。新晋院校包括浙江大学(从世界并列第47名跃升至世界第39名)和上海交通大学(从世界第52名升至世界第4…

    2025年12月29日
  • 纽约大学和emory

    网上会有许多“美国大学毕业收入最高前X位学校名单”的文章,但这些数据往往会误导读者,因为他们选取的仅仅是几个专业几个学生的个例,并不具代表性。近日看到几份文章,归结了2020年美国大学毕业六年后的平均年收入,我觉得还是有一定的代表性,收集整理如下,供准备去美国留学的同学参考。 斯坦福大学 斯坦福大学 斯坦福大学 斯坦福大学 28、密西根大学-安阿伯 Univ…

    2025年1月15日
  • 昔日10倍人气股上周跌近28%!重组折戟 股价下行压力大(附名单)

    昔日10倍人气股上周跌近28% 4月25日,双成药业(002693)再度跌停,此前4月21日至23日公司已连续3日跌停,上周公司股价累计跌幅接近28%,跌幅位居A股同期前十。 作为2024年的并购重组人气股,公司2024年内自最低价的最大涨幅超过10倍,自去年10月30日到2025年4月25日,其股价跌幅超过75%;与此同时,双成药业当前市值不足40亿元,较…

    2025年4月28日
  • 德国大学硕士申请条件

    德国硕士一般不直接接受中国三年制大专生申请。德国高校要求硕士申请人必须持有与德国学士学位等同的学历,而中国的三年制大专学历通常不被视为等同的本科。德国留学申请、德国本科留学申请、德国硕士留学申请、德国大学申请、德国留学机构中介辅导培训,不过,你仍有一些路径可以最终申请德国硕士,下面我们一起来看看吧: 路径一:国内专升本 → 国内本科毕业 → 德国硕士 在国内…

    2025年8月21日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信