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

一、项目简介

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

相关推荐

  • 云南省211和985大学名单

    近日 有网友通过人民网《领导留言板》 向云南省领导建议建一所“985大学” 该网友表示 云南省没有“985大学” 只有一所“211大学”云南大学 很多学生都想考“985大学” 针对该网友建议 云南省教育厅回应如下 ▼ 云南省教育厅回复: “985”院校是国家为创建世界一流大学和高水平大学而实施的一项重大工程。2015年,为落实党中央建设世界一流大学的要求,教…

    2024年8月29日
  • 日本留学一年花多少钱

    大家都说,日本是一个留学性价比高的国家,留学花费很低。留学生在日期间还可以打工、申请奖学金,这也是一笔收入。 那么,留学生在日本生活一年的真实花费有多少呢,今天蔚蓝留学带大家算一下,各位想去日本的同学们务必提前了解。 *不同地区、特殊专业费用会有浮动,仅供参考 学费 语言学校 日本有大约700所语言学校,收费各不相同,但差异不大。 选考料2~3万日元(仅需交…

    2024年6月24日
  • 卡内基梅隆大学机器人实验室

    卡内基梅隆大学的研究人员在 12 月 21 日出版的《自然》(Nature)杂志上报告说,一个非有机智能系统首次设计、规划并执行了一个化学实验。卡内基梅隆大学的人工智能系统 Coscientist 成功地自动完成了复杂的诺贝尔获奖化学反应,标志着人工智能驱动的科学研究和实验取得了突破性进展。 \”我们预计,用于自主科学实验的智能代理系统将带来巨大…

    2024年8月11日
  • 伦敦大学和东伦敦大学区别

    前言:这是一篇来自公众号达恩留学的文章,一文带你了解伦敦大学学院与伦敦大学的区别。 在英国的高等教育体系中,伦敦大学学院和伦敦大学是两个极具影响力但性质迥异的学术机构。有不少刚接触英国留学圈的同学和家长都容易把二者混淆,事实上,它们在创建时间、学校性质、拥有的学院以及各自的学术成就等方面都有一定的区别。 那么,接下来就让我们一起领略二者不同的风采吧! 一、创…

    2024年11月18日
  • 肺部体检多少钱

    就现代人而言,对于健康的保护和疾病的预防意识越来越强烈,能够养成定期体检的习惯和意识的朋友,也因此越来越多。现在处于秋冬时节,正是肺部最容易受到劳损和伤害的时间段,很多人体检也会优先对自己的肺部进行检查。 但是不少有体检意向的朋友,这时候却犯了难:按理来说,肺部是处于胸腔的位置,但是按照功能来说,却属于呼吸功能范畴。检查肺部,到底是去呼吸科,还是胸外科? 进…

    2024年6月25日
  • 加州大学尔湾分校继续教育项目_加州大学尔湾分校继续教育项目有哪些

    加利福尼亚大学尔湾分校(University of California, Irvine),又译加州大学尔湾分校或欧文分校,创建于1965年,隶属于加利福尼亚大学系统,是公立研究型大学,美国大学协会、环太平洋大学联盟、国际公立大学论坛成员,被誉为“公立常春藤”。 加州大学尔湾分校位于美国加州洛杉矶东南约50英里的橙县尔湾市。尔湾市邻近太平洋海岸,拥有充足的阳…

    2024年2月26日
  • 隔夜外盘:美股三大指数小幅收跌 热门中概股普跌

    美股市场:美股三大指数小幅收跌,截至收盘,道琼斯指数收跌62.75点,跌幅0.18%,报35088.29点;纳斯达克指数收跌84.55点,跌幅0.59%,报14199.98点;标普500指数收跌9.19点,跌幅0.20%,报4538.19点。美联储周二发布了10月31日至11月1日的联邦公开市场委员会(FOMC)货币政策会议纪要。决策者认为,利率将在一段时间…

    2023年11月22日
  • 菏泽学院的现任校长是谁

    1月11日,记者从菏泽学院官方网站了解到,10日上午,菏泽学院领导干部会议召开,传达了省委关于衣玉琛同志任菏泽学院党委书记的决定。省委组织部部务委员(副厅级)崔海涛出席会议并讲话,省教育厅总督学(副厅级)刘欣堂传达省委决定。院长姜同松主持会议。 刘欣堂传达省委决定:衣玉琛同志任菏泽学院党委委员、书记;免去王焕良同志菏泽学院党委书记、委员职务。 崔海涛在讲话中…

    2024年9月28日
  • 中国恒大、恒大物业:已申请10月3日起复牌 恒大汽车暂未发公告

    红星资本局10月2日晚间消息,中国恒大(03333.Hk)发布公告称,公司董事会认为公司目前不存在需要公布的其他内幕消息。公司已向香港联交所申请由2023年10月3日上午9时恢复买卖公司股份。 公告显示,公司于2023年9月28日发布的内幕消息公告,内容有关公司接到有关部门通知,公司执行董事及董事会主席许家印因涉嫌违法犯罪,已被依法采取强制措施。董事会认为公…

    2023年10月7日
  • 浙江省十二所重点大学

    浙江是唯一一个所有设区市居民收入都超过全国平均水平的省份,2023年,浙江省实现生产总值82553亿元,按不变价格计算,比上年增长6.0%。高考填报志愿的时候,如果我们想去浙江读大学,应该怎么挑选浙江省的高校?现在,就让我们来了解一下软科最新发布的浙江省高校排名。 1. 浙江大学 2. 浙江工业大学 3. 宁波大学 4. 浙江师范大学 5. 杭州电子科技大学…

    2024年10月22日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信