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

一、项目简介

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

相关推荐

  • 美国圣何塞州立大学排名

    高校排名 韦伯麦特里克斯网(Webometrics)世界大学排名 第179名 2013 QS世界大学排名 101-200 第133名 2013 US美国公立综合性大学排名 第90名 美国大学表现评估中心大学排名 第101名 《美国新闻与世界报道》艺术专业研究生院排名 第81名 《美国新闻与世界报道》图书馆与信息研究 第22名 《美国新闻与世界报道》硕士等级大…

    2025年9月9日
  • 德克萨斯州大学奥斯汀分校

    这项由德克萨斯大学奥斯汀分校电子与计算机工程系的魏希文、穆斯塔法·穆尼尔和拉杜·马尔库列斯库团队完成的研究于2025年12月发表在第39届神经信息处理系统大会(NeurIPS 2025)上。研究编号为arXiv:2512.03125v1,感兴趣的读者可以通过该编号查询完整论文。 当我们学习新技能时,常常会遇到这样的困扰:刚学会骑自行车,却发现不会滑滑板了;刚…

    2025年12月31日
  • 横滨国立大学和神户大学哪个好

    众所周知日本的大学国际排名不是非常出色,具体原因也在之前的文章中介绍过,但日本大学的专业实力真的很强!因此今天不参考国际排名,一起来看看在日本人眼中强势专业都“隐藏”在哪些大学里吧! 其中判断标准最客观的就是偏差值,偏差值越高,越难考,学科实力越强!碍于篇幅原因,今天着重为大家介绍国公立大学文系学部的实力排名~ 文学部 大学推荐:东京大学、京都大学、大阪大学…

    2024年12月17日
  • act是什么考试

    ACT(American College Testing)考试的中文名称为“美国大学入学考试”, 由美国大学测验组织机构ACT Incorporation主办,是美国大学本科的入学条件之一,也是奖学金发放的重要依据之一。ACT考试并不是单纯的语言考试,而是对学生综合能力的测试。考试不仅考察学生对基础课程的掌握程度,也检查学生的一般学术能力,整体难度贴近高中生…

    2024年6月4日
  • 重庆大学mba提前面试

    选择考研学校的同时,学校也在考量你。 以下是提前面试时考官对你的考察环节,主要是三大部分: 第一环节:考官看考生提交的资料,以简历为主 通过看资料考官会对将要参加面试的人有一个初步的了解。实际上考官关于是否录取的初步判断在这个时候就已经做出了。这里的敏感点在于工作的单位、职位、业绩等。当然教育背景也是比较重要的。所以一份完美的简历对于参加MBA面试的考生来说…

    2025年9月12日
  • 加拿大私立中学排名

    加拿大的顶级私校,都被贴上贵族特征,优质教育,培养社会精英等标签。另一方面由于招生人数少,入学难度大,又很难被社会大众完全看清其真面目,始终给人一些神秘感。所以在谈到顶级私校到底有什么优势时,说法也是见仁见智,让家长在择校时陷入困惑。但是有一个指标却是公认的,就是大学的升学前景和升学率。我们今天以一个顶级私校2022年毕业生大学录取的统计数据为例子,来看看读…

    2025年11月12日
  • 美国签证要求月薪多少

    签证简单来讲就是一个国家的政府机关按照该国家的法律法规为申请出入或者通过该国家的外国人颁发的一种许可证明,通俗来说就是只要你想到一个国家,那就必须持有这个国家的签证。随着我国国民经济的不断提高,出国早已成为了十分普遍的事情。 很多人会选择通过留学的方式提升自己,或者是因为工作需求往来两国之间,国际之间的交流因为科技的发展而变得越来越密切。在这其中西方国家的热…

    2024年4月22日
  • 长沙三年制大专学校

    来源:【华声在线】 华声在线7月10日讯(通讯员 常望新)近日,湖南省教育厅发布了《关于下达 2023 年五年制高职招生计划的通知》,长沙经贸职业中专学校(以下简称“长沙经贸学校”)与湖南交通职业技术学院(以下简称“湖南交通职院”)合作办学的“大数据与会计”专业成功获批五年制高职招生计划。 据悉,长沙经贸学校与湖南交通职院合办的五年制大专班今年招生计划为45…

    2024年12月19日
  • 爱达荷州大学世界排名

    排名情况 【排名】 《美国新闻与世界报道》2013最新全美大学排名:第165名 《美国新闻与世界报道》2012全美TOP National Universities 第167名 《美国新闻与世界报道》2012全美TOP National Universities 第160名 学校声誉 《美国新闻与世界报道》把它列为三级国家级大学。该校工程学院大学部学生连续1…

    2025年7月30日
  • 怎么到温哥华读大学

    高考分数已经出炉,许多学生也正式进入择校阶段。在国内高校竞争愈发激烈的背景下,越来越多家庭将目光投向海外求学之路。其中,加拿大以其优质教育资源、高含金量学历、合理的留学成本、安全宜居的社会环境,成为中国学生偏爱的留学目的地之一。 为了帮助不同背景的学生顺利升读加拿大本科,小K为您梳理5大主流本科申请方案,总有一种适合你的升学路径⬇️ 01 高考直录通道 适合…

    2025年7月26日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信