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

一、项目简介

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

相关推荐

  • 北华大学研究生怎么样

    北华大学,简称北华,位于吉林省吉林市,是吉林综合性重点大学,有北国之花,大学之华的美誉。 2025年北华大学排名吉林省第10位,全国第281位。 截至2024年10月,北华大学拥有一级学科硕士学位授权点18个,硕士专业学位类别23个;暂无博士学位授权点;北华大学现有硕士研究生3045人。 那么,北华大学研究生学业奖学金覆盖率有多高呢? 一、学术型硕士研究生 …

    2025年3月18日
  • 加拿大多伦多大学熊伟

    中国人民大学汉青经济与金融高级研究院(以下简称汉青研究院)是企业家赵汉青先生在中国人民大学捐资建立的一个新型国际化学院,于2007年3月正式揭牌成立,中国人民大学原校长纪宝成教授和诺贝尔经济学奖获得者斯蒂格利茨教授任名誉院长。梁晶教授任执行院长,主持工作。研究院同时成立了由中国人民大学原校长黄达教授、普林斯顿大学邹至庄教授、全国人大财经委副主任吴晓灵教授、普…

    2025年1月16日
  • 马来西亚留学研究生几年

    刷到好多纠结去不去马来西亚读硕士的宝子! 特别是考研二战、三战失败的,时间成本已经投入太多了。 作为马来西亚一年制硕士毕业生,我可以分享一下我的感受。 我不制作焦虑,纯纯的个人体验。 – 我刚到马来西亚的时候也挺慌的,一个人拖着2个大行李箱站在吉隆坡的街头,感觉自己在这座陌生的城市里渺小得像一粒沙。 1. 刚开始上课真的很懵 我读的是英迪国际大学…

    2025年11月20日
  • 医学院排名国内

    在全球医学教育版图上,中国医学科学院北京协和医学院(PUMC)犹如一颗璀璨的明珠,以百年积淀的学术底蕴和全方位的领先优势,稳居中国医学教育金字塔顶端。2025年最新发布的软科中国大学排名中,协和以绝对优势蝉联医药类院校榜首,其临床医学、药理学与毒理学等学科持续位居ESI全球前1‰。但中国医学教育的竞争远非“一枝独秀”,在长三角、珠三角、中西部等地区,九所顶尖…

    2025年7月27日
  • 雅思成绩可以申请香港大学吗

    很多准备申请香港硕士的同学,都把港校硕士看作留学圈的“保底选项”,认为这些学校申请起来很容易,有手就行!但如今,港校却成了“顶流”的香饽饽,并且难度一直在飙升! 最近,港大研究生院官网发布了一则新的通知,对于很多申请者来说无疑一个重磅炸弹。 01 港大偷偷提升申请门槛 根据港大最新规定:自2026级秋季入学申请季起,硕士申请人提交的雅思和托福成绩单需在入学注…

    2025年11月5日
  • 美国纽约州库克大学qs排名

    qs2023新加坡大学排名中,有三所公立大学和一百多所私立大学的合作院校都有排名,新加坡国立大学排名第11位,新加坡南洋理工大学排名第19位,新加坡管理大学排名第561-570位,澳洲詹姆斯库克大学新加坡校区和澳洲科廷大学新加坡分校的主校区分别排名是第193和461位。 qs2023新加坡大学排名 1、新加坡国立大学世界qs排名第11位; 2、新加坡南洋理工…

    2025年9月2日
  • 日本留学好找工作吗

    前几天在小区超市碰到楼上的张姐,她儿子本来能上区里的重点高中,结果突然说要去日本读语言学校。我问她为啥,她叹口气说:“国内高考太卷了,日本学费低还能拿身份,总比挤破头强吧?”这两年身边这样的例子真不少,日本留学好像突然成了中产家庭的“救命稻草”。 朋友阿凯去年30岁,从互联网公司辞职去了大阪读经营学修士。我当时挺惊讶的,他之前在公司干得好好的,咋突然要出国?…

    2025年11月6日
  • 德国研究生留学条件和费用_德国研究生留学条件和费用哪所学校

    德国,这个欧洲的心脏地带,以其严谨的教育体系、高水平的学术研究和独特的文化氛围吸引着无数海外学子。近年来,越来越多的中国学生选择前往德国攻读硕士学位。那么,德国硕士留学的条件和费用究竟是怎样的呢?本文将为您详细解读。 一、德国硕士留学条件 学历要求:一般来说,申请德国硕士课程的学生需要具备国内本科学士学位。此外,有些专业可能还要求学生在本科阶段学习过相关课程…

    2024年4月18日
  • 卡尔顿大学qs排名

    中新网上海新闻9月27日电(记者 姜煜)2023年东华大学与卡尔顿大学合作培养工商管理硕士学位项目毕业典礼24日在上海举办。东华大学旭日工商管理学院副院长刘长奎教授,卡尔顿大学斯普洛特商学院副院长Robin Ritchie,卡尔顿大学斯普洛特商学院副院长、MBA项目负责人Shaobo Ji和双方校方授课教师和管理人员,以及该项目C12、C13、C14、C15…

    2023年12月18日
  • climate怎么读

    climb 英 /klaɪm/ 美 /klaɪm/ 全球(美国) v. 攀登,攀爬;爬升,升高;上升,升值;提高社会地位,晋升;吃力地爬(移动);(植物)攀缘而上 n. 攀登,爬升;攀登的地方,攀登物;增值,上升;提高地位,晋升 climax 英 /ˈklaɪmæks/ 美 /ˈklaɪmæks/ 全球(美国) n. 高潮,顶点;性高潮;(植物群落演替达到平…

    2024年6月4日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信