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

一、项目简介

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

相关推荐

  • 辽宁理工类大学排名

    #冬日生活打卡季# 辽宁省,不仅是我国东北地区的一个经济大省,而且也是教育大省,目前,省内拥有本科高校共有63所,既有985,也有211,还有双一流等知名高校。 而且院校的类型也多,既有综合类高校,也有医学类院校,还有理工类大学,众多类型的选择也为广大学子提供了选择的机会。 今天这篇文章,我们就详细来解读辽宁省院校类型为理工类的大学,如果你对理工科专业感兴趣…

    2024年8月23日
  • 麦考瑞大学和悉尼大学哪个好

    护理留学硕士澳洲排怎么样?这里介绍THE、QS、ARWU三大排名中前十的学校吧: 一、THE排名 墨尔本大学,20 莫纳什大学,29 悉尼大学,=38 昆士兰大学,54 阿德莱德大学,71 新南威尔士大学,=74 澳大利亚国立大学,101-125 西澳大学,101-125 拉筹伯大学,151-175 麦考瑞大学,151-175 二、QS排名 悉尼大学,=14…

    2025年9月2日
  • 香港城市大学需要雅思吗

    香港城市大学2026年秋季硕士申请已经在9月16日正式开放啦! 今年的申请季可谓是惊喜满满!城大不仅保持了与往年相同的开放时间,更是贴心地将雅思要求整体降低至6.0分,这让更多同学有了圆梦香港名校的机会哦! 纵观今年的招生政策,人文学院、商学院、理学院等学院的多个热门专业都纷纷降低了语言门槛。值得注意的是,今年港城特别推出了以中文授课的EMBA,和智能会计与…

    2025年10月21日
  • 中央财经大学mba学费

    央财商学院于2011年获得AMBA国际认证,2017年通过中国高质量MBA教育认证,已经连续三年获得“新华网·2017年品牌影响力MBA院校的荣誉称号”。从MBA毕业生薪资水平上来看,央财MBA是相当不错的。中央财经大学MBA项目致力于培养具备全球视野和创新能力,拥有金融财务优势,积极承担社会责任的领导者。中央财经大学MBA是国内最具竞争力和影响力的MBA项…

    2023年12月14日
  • 香港留学艺术生

    在搜索引擎中,“香港留学中介哪家好”、“香港留学机构排名”是许多学生和家长高频搜索的问题。作为一名从业8年的资深国际教育规划师,笔者李明经常被问及此类问题。选择留学中介,本质上是寻找一个专业、可靠且与自身需求高度契合的合作伙伴。网络上信息庞杂,各家说法不一,常令申请者感到困惑。本文将基于行业调研、公开数据及多年观察,尝试梳理一份针对香港地区留学服务的中介测评…

    2026年1月7日
  • 香港有些什么大学

    由于美国多项政策的不稳定性,今年亚洲多所院校排名上升。以中国香港特区为例,当地有六所受政府资助院校排名同比上升,且因大学整体进步率达71%成为亚洲最高 文|《财经》特派香港记者 焦建 编辑 | 苏琦 当地高等教育近年来发展情况如何,以及国际高等教育界重心发生了哪些变化,成为中国香港特区教育界近两日的核心热议话题。 一系列相关话题升温,源于在6月19日由国际高…

    2025年8月8日
  • 爱尔兰中外合办大学报名入口

    为什么选择爱尔兰留学? 有世界上最好的教育系统之一院校类型,专业选择丰富高度全球化的小型经济体英语为母语的国家,全英文授课良好的毕业签证政策永久中立国,稳定和安全的政治经济环境国民人均教育水平位居欧盟前列 等等。。。 高等教育阶段主要分为综合性大学、理工大学/学院以及独立院校。综合性大学以学术为导向,设有众多科研中心,会更多承担研究领域的研究任务,其学费相对…

    2024年12月6日
  • 悉尼大学校训英文

    //前言// 校训是学校办学理念、 治校风格的反映, 也是校园文化的重要内容。 就算离开校园多年, 看到母校的校徽、校训, 还是会有种自豪感油然而生。 八大作为澳洲的 顶尖名校, 它们的校训你了解吗? 1、 七大名校:校训校徽逼格满满 眼观澳洲八大名校, 有七所高校的校训 都是逼格高到看不懂。 为啥看不懂呢? 因为人家用的是拉丁文呀! 墨尔本 The Uni…

    2024年7月30日
  • 法国ut大学_法国ut大学排名

    德黑兰大学(英语:University of Tehran,波斯语:دانشگاه تهران ,英文缩写UT)是伊朗成立最早,也是规模最大的大学,被誉为“伊朗大学之母”。德黑兰大学建于1934年,占地面积22.5万平方米。一开始德黑兰大学只有六个学院,分别是:医学院、技术学院、哲学院、法学院、科学院和文学院,后来逐渐发展,成为伊朗规模最大的大学。现在德黑兰…

    2024年2月29日
  • 韩国排名第一的大学_韩国排名第一的大学是哪所

    今年,QS对排名方法进行了改善,引入了3项全新指标:可持续发展、就业成果和国际研究网络。并且,对某些已有指标的权重进行了重新校准,包括学术声誉指标、雇主声誉指标和师生比指标。相比2023年的40所韩国大学进入榜单,2024年共有43所韩国大学进入榜单,增加3所。 1.首尔大学 世界排名29,韩国排名第一的学校。首尔大学建校以来,首尔大学一直主导着韩国各学术界…

    2024年3月18日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信