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

一、项目简介

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

相关推荐

  • 乌克兰留学最好的学校

    乌克兰最受欢迎的10所大学。 第一,每年考察大学在互联网上的质量和受欢迎程度的世界大学网络排名。我们谈论的是从权威来源收集的独立网络量化指标:世界各地大学网站的受欢迎程度和出勤率。 根据该排名的作者,这种方法旨在帮助学生、教师和科学家评估大学的整体受欢迎程度。 根据2024年世界大学网络排名,乌克兰排名前十的教育机构包括: 乌克兰国立技术大学“伊戈尔·西科斯…

    2025年8月26日
  • 香港浸会大学排名qs

    来源:中国新闻网 中新社香港6月19日电(记者 韩星童)世界高等教育研究机构Quacquarelli Symonds(简称“QS”)19日公布2026年世界大学排名,香港大学(简称“港大”)、香港中文大学(简称“港中大”)、香港科技大学(简称“港科大”)跻身全球五十强,其中港大跃升至历史性的全球第十一,稳居香港第一。 图为2024年8月香港大学资料图。中新社…

    2025年11月24日
  • 雅思考试报名条件及时间2023(雅思考试报名条件及时间2023浙江)

    2023年报考雅思需要满足什么条件? 小编了解到,为了方便各行各业有需要的人申请雅思考试报名,差不多每个月会有4-5场考试。报考的考生要时刻注意雅思考试的时间。您可以在机构和考点的官方网站上找到雅思考试的相关信息。以下是中国地区的考试时间和雅思考试要求,供大家参考。 2023年中国地区雅思纸笔考试日期 2023年中国地区雅思纸笔考试日期 报考雅思的要求是什么…

    2023年11月8日
  • 澳洲阿德莱德大学世界排名_澳洲阿德莱德大学世界排名第几

    2024年QS世界大学排名收录了全球104个地区的1500所院校,是同类排名中唯一强调就业能力和可持续性的排名。今年引入了三个新的衡量标准——可持续性、就业结果和国际研究网络。榜单结果借鉴了对1750万篇学术论文的分析,以及超过24万名学术界人士和雇主的专家意见。 University of Adelaide阿德莱德大学是澳洲历史上第三悠久的大学,具有140…

    2024年3月17日
  • 里尔大学被国内承认吗

    也许很多同学对于主流英语国家的学校非常熟悉,但是对欧陆的学校了解甚少,甚至听到名字的时候难免猜想到底是哪所“野鸡大学”(嫌弃脸)。 今天我们就要光明正大地为欧陆商学院正名: 欧洲商学院走的都是“精致”的路线,整个学校只会提供商科类专业的教学,小众不代表“野鸡”。 (O妹再次大声呼唤!) 信息源自QS 2022年世界大学管理硕士项目排名TOP 30 今天O妹想…

    2025年8月25日
  • 高中出国留学怎么申请

    在当今全球化的时代,越来越多的高中生开始考虑出国留学,以拓宽视野、体验不同的文化并获取国际化的教育资源。那么,高中生如何申请出国留学呢?又有哪些途径可供选择呢?本文将为您详细解析,并特别介绍留学预科这一重要途径。 一、直接申请海外高中或大学 114留学网老师介绍到,对于英语水平较高、学术成绩优秀且对海外教育体制有深入了解的学生,可以直接申请海外的高中或大学。…

    2024年7月5日
  • 德克萨斯大学排名多少

    全球排名 德克萨斯大学奥斯汀分校在全球范围内的排名表现相当不错。根据2024年的QS世界大学排名,德克萨斯大学奥斯汀分校位列第58名。而在同一排名中,美国德克萨斯大学奥斯汀分校名列全美大学综合排名USNews第38位,公立大学第10位。此外,该校在2023年的QS世界大学排名中位列第72名。 专业排名 在专业排名方面,德克萨斯大学奥斯汀分校的表现同样出色。例…

    2024年10月12日
  • 亚洲医学院排名

    THE 亚洲大学排名发布! 万众瞩目的2025年泰晤士高等教育亚洲大学排名,已经在中国澳门科技大学举行的2025年亚洲大学峰会上正式揭晓了! 与THE全球大学排名相同,亚洲大学的排名也使用教学环境、研究环境、研究质量、国际展望、产业收入这五大领域下的18个绩效指标来评估,旨在提供最全面最平衡的比较。 这份名单的亮点非常多,能够给国际学生在本科择校方面提供更全…

    2025年11月28日
  • 麻省理工大学金融硕士案例

    ►前言: 双节假期结束,案例分享也如期归来~差不多就在去年的这个时候,Estelle学员才刚刚开始准备申研,可到了十月中下旬,大部分英国项目的round 1都已经结束,好在听取了最强辅助Smart的建议,及时补申了剑桥金融,在经历了LBS受挫后也没有轻言放弃。来看看K学长如何帮助她文书成型,最终进入全球第二的吧~ ►学员介绍: 姓名:Estelle 即将要去…

    2024年11月24日
  • 美国人眼中的大学排名

    俗话说有人的地方就有江湖,那自然全球大学上万所,就有实力高低,就有大学排名。 关于大学排名,最出名最权威的当属四大榜,比如英国的QS、美国的U.S.News全球大学排名,这篇文章,我们就一起看一看在美国人眼中陕西高校10强大学。 01陕西3所985高校稳居前3名,4所211高校进前7强 美国人眼中陕西高校10强分别是985高校西安交通大学、985高校西北工业…

    2025年11月14日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信