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

一、项目简介

本文主要介绍如何使用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年最新权威排名(QS、U.S. News、THE等),意大利排名前十的大学依次为:米兰理工大学、博洛尼亚大学、罗马第一大学、帕多瓦大学、都灵理工大学、米兰大学、比萨大学、那不勒斯腓特烈二世大学、佛罗伦萨大学、特伦托大学。 意大利顶尖大学排名与依据 ‌米兰理工大学‌:2025QS全球第111位,意大利第一,以工程、建筑和设计学科闻名,雇主声誉指标突…

    2025年10月14日
  • 牛津布鲁克斯与牛津大学

    在英国的这片土地上,被当地人民和学者称为“大牛津”的牛津大学和成立于1865年的牛津布鲁克斯大学的“小牛津”在同一片天空下共享现代知识与文明。 牛津布鲁克斯大学(Oxford Brookes University)位于世界学术名城—牛津;距离伦敦80公里;牛津大学和牛津布鲁克斯大学共同形成牛津大学城,这里学风浓郁、精英荟萃,历来为求学圣地。 牛津布鲁克斯大学…

    2025年7月31日
  • 贝尔大学在哪个国家

    贝尔格拉诺大学(Universidad de Belgrano)成立于1964年,是阿根廷最古老的私立大学之一 办学历史 贝尔格拉诺大学由Avelino Porto博士于1964年9月11日根据第14557号法律创建。它的第一座建筑位于“贝尔格拉诺镇”的苏克雷和克莱默。 1992年,大学大楼落成,以容纳四个创始学院:法学院,经济学院,人文与社会科学学院以及建…

    2024年12月13日
  • 七姊妹学院成员

    一、核心六姊妹演员 梅婷 饰 何家丽(大姐) 年龄:46岁(1975年出生) 籍贯:江苏南京 毕业院校:中央戏剧学院表演系 代表作:《父母爱情》《红色恋人》 高露 饰 何家文(二姐) 年龄:42岁(1983年出生) 籍贯:北京 毕业院校:中央戏剧学院表演系 角色亮点:体操运动员转型女工的命运转折 颖儿 饰 何家艺(三姐) 年龄:36岁(1989年出生) 籍贯…

    2025年8月26日
  • 西悉尼大学好吗

    【澳洲网编译报道】《2022泰晤士报高等教育影响力排行榜》(2022Times Higher Education Impact Rankings)发布,大洋洲重新夺回了影响力桂冠,澳洲西悉尼大学(Western Sydney University)在研究、教学和当地参与应对环境和社会挑战的努力而被评为世界最佳大学。 澳洲17所高校入围Top100 《澳洲金融…

    2025年5月13日
  • 格拉纳达大学相当于中国什么大学

    近日,华中师范大学与西班牙格拉纳达大学举行了线上签约仪式。华中师范大学校长郝芳华和副校长彭双阶分别与格拉纳达大学校长玛利亚•皮拉尔•阿兰达•拉米雷斯和国际化副校长多萝西•凯利签署了两校校际合作框架协议和学生交换协议。根据学生交换协议,华中师大每年可派出4名学生赴格拉纳达大学开展为期一学期的交换学习。 格拉纳达大学孔子学院院长胡安•何塞•西拉瑞、现代语言中心院…

    2024年12月15日
  • 圣塔芭芭拉大学和圣塔克拉拉比较

    加州大学圣塔芭芭拉分校约有一半的专业和系在美国大学排名中名列前20,包括艺术学科、人文学科、社会科学以及科学技术。排名前十位的热门专业分别为:生物、经济、心理学、政治科学、信息、计算机科学、地理学、机械工程、法律和社会学、计算机工程。 加州大学圣塔芭芭拉分校机械工程学系 据美藤国际教育介绍,圣塔芭芭拉加州大学工学院的计算机科学,电机及计算机工程以及机械工程等…

    2024年11月5日
  • 美国制裁名单大学_美国制裁名单大学没有清北

    在我国西北,有一所大学,向来隐秘又低调! 坊间传言,“西工大的牛,只有西工大人自己、国家、部队和五角大楼知道”。 2022年6月,西北工业大学遭受境外网络攻击,引发全网关注,让大家再次更深层次的认识了这所深居西北的“985”高校。 近日,西工大在中国国际大学生创新大赛(2023)这场极高规格的竞赛中斩获多枚金奖,又拿第一了,真的老强了! 金奖数全国第二、主赛…

    2024年3月11日
  • 留学生张丽(小留学生 张丽玲)

    9月4日 来自40多个国家和地区的60余名留学生 参加了四川大学海外教育学院 新生入学第一课及分班汉语言测试 网友:像极了考英语的我 测试考什么? 我们从中选择了几道题 先来感受一下 面试听力题 小王:这束花真好看! 张丽:哦,那是假的。 小王:啊,真的假的? 张丽:真的。 问:这束花是真的还是假的? 选择题 甲:这件事你不知道吗? 乙:_____。 A. …

    2023年11月8日
  • 加拿大大学学费排名_加拿大各大学学费明细

    文章来源:多伦多华人圈 我相信很多留学生都能感觉到多伦多物价飞涨。无论是学费还是衣食住行,当然留学费用最大的还是学费。 图片来自网络 根据加拿大统计局最新报告称,与上学年相比,就读学位课程的加拿大本科生的研究生学费增加了约 2.2%,增加了 3.0%。 根据您喜欢的省份或学习领域,学费可能低于或高于全国平均水平。 大学的学费也根据您选择的课程和学校而有所不同…

    2024年4月3日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信