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

一、项目简介

本文主要介绍如何使用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年U.S. News全美综合大学排名:33 佐治亚理工学院位于美国亚特兰大,佐治亚理工以其工程专业闻名,被誉为“南方MIT”。20…

    2025年11月4日
  • 澳大利亚悉尼大学游记

    6号上午当地时间9点多落地金斯福德·史密斯国际机场,顺利出关后,导游带领我们团一行12人在机场外,等当地旅游公司的巴士。 10点多终于等来了接车,但不是想象中的大巴,而是一个老式的旅行中巴,车本身不能装运行李,就看到了澳洲特有的现象。 中巴车后拖着一个黑色的方形的,应该是铁皮制作的大箱子。 后来几天的旅行我发现澳大利亚的很多家用小车,车的后边都安装有一个挂车…

    2025年7月26日
  • 阿尔伯特大学世界排行

    “没听说过阿尔伯塔大学,名气不大吧?” “阿尔伯塔大学的排名应该不太高吧?” “阿尔伯塔大学有什么强势专业?” …… 可能很多人对阿尔伯塔大学这个名字感到相对陌生,但实际上,它在国际教育领域享有相当高的声誉,并非“野鸡大学”。 QS排名飙升15名,跻身世界前百! 在2025年QS世界大学排名中,加拿大的阿尔伯塔大学(UA)较去年上升了15个名次,重回世界前1…

    2025年8月20日
  • 湖南单招大专学校排名及分数线

    很多想要了解湖南单招的考生不知道哪些学校比较好,也不清楚这些学校的录取分数线,因此不敢轻易报考,下文就是学赛小编整理的湖南单招学校排名及录取分数线,仅供参考。 一、湖南高职单招录取分数线一般是多少? 全国不同省份是分别制定高考控制分数线的,而高职单独招生更是由招生学校自行划定分数线的,每个学校可能都是不同的。考生首先要确定自己报考的高职单招学校,然后到学校官…

    2024年8月13日
  • 澳际留学咨询(澳际留学咨询顾问)

    2023年6月28日凌晨四点,2024QS世界大学排名榜单终于发布‼️ 本次是QS第二十次发布世界大学排名,覆盖来自不同国家和地区的1500所大学。在排名指标重大更新后,全球大学排名格局可谓大洗牌(说的就是你俩,墨大和UNSW!) 下面就跟随小澳学姐的脚步,看看今年谁是最大赢家 排名指标 变化一览 今年年初,QS就宣布今年会大幅度调整排名的评分标准,果不其然…

    2023年10月17日
  • 香港小学排名表_香港小学排名表500所

    香港小一自行派位即将公布!香港小学那么多那什么才是大家心目中的好学校呢? 今天Kali给你们整理了香港小学教育竞争力龙虎榜top100!给你们参考‼️ 由于篇幅问题我将它分成上下两期,可以关注我不迷路~ 涵盖全港官立、资助、直资、私立小学 今天带大家将香港小学【类别】、【地区】、【学费】一网打尽!给各位家长参考。 毕竟择校不易,Kali希望可以帮助你们为孩子…

    2024年4月14日
  • 鹿儿岛大学相当于中国哪所大学

    据日本共同社消息,日本著名实业家稻盛和夫去世,终年90岁。这位被无数微商文案中引用的人物毕业于鹿儿岛大学工学部,鹿儿岛大学的稻盛纪念馆就是稻盛和夫为了让自己母校在教育研究方面不断充实和发展而捐赠的建筑设施。 鹿儿岛大学(日文平假名:かごしまだいがく;英文:Kagoshima University),简称鹿大,是日本鹿儿岛县鹿儿岛市一所国立大学,建立于1773…

    2024年10月19日
  • 广东科贸职业学院怎么分校区

    广东科贸职业学院和广州科技贸易职业学院名称相似,都位于广州市,但学校却大不相同。春考填报志愿,在看分数的同时,不妨也分析每所学校的优劣势,以便能精准择校。 一、广州科技贸易职业学院(简称广州科贸):广州市属综合类公办大专。著名科学家、中国工程院院士、广州市科学技术协会名誉主席钟南山担任名誉院长。现有番禺、黄埔(光宝)和南沙三个校区。 图片来源于学校官网 (一…

    2025年8月22日
  • 里昂商学院圣埃蒂安校区

    每经记者:梁宏亮 每经编辑:兰素英 随着2021年高考落下帷幕,新一批被称为“后浪”“Z世代”的“00后”即将踏入高等学府的殿堂。在今年上千万名高考考生中,将有相当一部分选择攻读商科专业,立志成为中国未来的财经精英。 而在技术变革叠加百年未有之大变局的时代背景下,商学院对经济管理类人才的培养有了新思路和新方式。 究竟什么样的经管类人才,才能在全球宏观经济和商…

    2025年8月11日
  • 菲律宾大学尬舞bgm

    视频加载中…

    2025年5月28日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信