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

一、项目简介

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

相关推荐

  • 世界各国福利排名_世界各国福利排名全球第几

    当谈到全球福利制度最好的国家时,以下十个国家备受瞩目,请注意排名不分先后。 ·一、冰岛。冰岛被认为是总体上最安全的国家,医疗保健免费,社会福利完善,欧洲最和平的地区之一。 ·二、丹麦。教育免费,医疗免费,全民免费,医保系统NHS为所有人提供服务,社会高福利覆盖所有居民。 ·三、爱尔兰。医疗免费,教育免费,高福利保障制度,社会福利开支占GDP的25.9%。 ·…

    2024年4月19日
  • 墨尔本大学留学代理

    口碑好的top10澳洲留学办理中介推荐排名简介 口碑好的top10澳洲留学办理中介推荐排名简介 留学中介基础认识 留学中介是帮助学生完成海外院校申请的专业服务机构,提供选校定位、文书撰写、材料递交、签证办理等全流程服务。优秀的留学中介不仅能提升申请成功率,还能根据学生背景制定个性化方案,节省申请时间。 如何筛选留学中介 一、资质认证:选择持有教育部认证的合法…

    2025年7月31日
  • 新西兰梅西大学回国承认吗

    梅西大学成立于1927年,是新西兰全国规模最大的大学学府。梅西大学拥有全新西兰最大的商学院,由全球最具权威的商学院与会计的非政府认证机构—-美国管理商学院联合会AACSB正式认证。 梅西大学主校区位于北帕默斯顿市的Turitea校区(因拥有大量树木和公园而闻名的花园式校区)和Hokowhitu校区(北帕默斯顿城区内靠近新西兰最宽的湖Manawat…

    2025年4月7日
  • 女生学平面设计吃香吗

    平面设计是 近几年很火的一个职业,薪资方面都是非常‌‌​‌‌可观的,所以不少人想要从事这个行业,学习好平面设计无师自通肯定几率不大,选择一家好的机构尤为重要。平面设计行业分析在当今社会,平面设计的需求量越来越大。从传统的印刷媒体到现代的数字媒体,平面设计的运用越来越广泛。随着电子商务的兴起和网络营销的普及,平面设计师的作用更加突出。此外,随着文化产业的发展和…

    2024年1月4日
  • 周博伦敦皇后玛丽学院

    不久前,大英博物馆官推拉黑了一位博主。 为什么呢?看看这位博主的日常发推画风你就知道了↓ 虽然刻薄,但是……博主讽刺的是事实啊。从大英博物馆“搬运”他国文物的梗图数量也可看出大众的态度,对于官推拉黑博主一事,有网友讽刺,玩笑可能是大英博物馆唯一不会偷走的东西。 The British Museum meme ▶▶▶ 大英博物馆成立于1753年,如今馆藏已达8…

    2024年10月23日
  • 巴黎欧洲高等商学院

    随着2024年巴黎奥运会的开幕,巴黎再次成为了全球关注的焦点,除了巴黎的历史和文化之外,相信大家对巴黎的教育也很感兴趣。今天,给大家介绍一下法国高等商学院,以培养世界顶尖商业精英而闻名于世的特有精英教育体系。 在法国高等商学院中,最著名且含金量最高的硕士项目当属GE大学校管理学硕士(GE为法语Grande Ecole大学校的简称,管理学硕士英文为Master…

    2024年12月9日
  • 香港一年制硕士学费

    一、学费(按专业 & 学校排名)商科(最贵!)港大/港中文/港科大:25w-46w港币(如金融、MBA)城大/理工:18w-22w港币(供应链管理等)吐槽:港大金融学费46.2w港币≈43万人民币,读不起是我的问题吗理工科计算机/AI:13w-25w港币(港科大AI约24w)文社科/教育(省钱党冲!)港教大教育学:12w港币岭南文化研究:10w-15…

    2025年10月13日
  • 新南威尔士大学学费

    近日,澳洲两大顶尖名校悉尼大学和墨尔本大学,正式确认2026年起大幅上调国际学生学费。涨幅最高达两三倍,部分热门专业一年学费直接冲破30万人民币,连本地生也未能幸免。 01 墨大、悉大宣布学费上涨 墨尔本大学 商科本科总学费涨至约 190,000 澳元(≈90 万人民币);工程学学费涨至约 60,000 澳元 / 年(≈30 万人民币 / 年);法律专业学费…

    2025年12月24日
  • 多伦多电影学院留服网不认可

    多伦多电影学院隶属于加拿大约克维尔大学,是中国教育部认证的境外正规高校。 多伦多电影学院隶属于加拿大约克维尔大学Yorkville University,是中国教育部认证的境外正规高校 ,同时,也是加拿大政府和安大略省教育部认证的具有招收国际学生资质的院校,成为唯一一所既有中国政府也有加拿大政府教育部门承认的影视类院校学校。同时在QS发表的世界优秀电影学院名…

    2025年1月22日
  • 卡迪夫大学面积

    成立于1883年的卡迪夫大学位于威尔士首府卡迪夫市,是一所世界一流的研究型大学。于1884年获得皇家许可状,也是威尔士唯一一所英国常春藤联盟罗素大学集团成员。 荣誉成就 据立思辰留学介绍,作为威尔士唯一的罗素大学集团成员,卡迪夫大学享有威尔士政府49%的研究经费,共产生过2名诺贝尔奖获得者。卡迪夫大学曾经7次荣获英国女王周年奖。同时,卡迪夫大学也诞生了欧盟委…

    2025年4月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信