当前位置: 首页 > news >正文

东南大学轴承故障诊断(Python代码,CNN模型,适合复合故障诊断研究)

运行代码要求:

代码运行环境要求:Keras版本>=2.4.0,python版本>=3.6.0

本次实验主要是在两种不同工况数据下,进行带有复合故障的诊断实验,没有复合故障的诊断实验。

实验结果证明,针对具有复合故障的数据集,需要 研发特定的算法,才能更好区分复合故障数据集。

1.东南大学采集数据平台

图片 

 数据

该数据集包含2个子数据集,包括轴承数据和齿轮数据,这两个子数据集都是在传动系动力学模拟器(DDS)上获取的。(第一个文件夹是轴承数据,第二个文件夹是齿轮数据,本次是针对齿轮数据进行故障诊断)

 

 本实验主要是利用轴承数据(第一个文件夹的数据)进行故障诊断,轴承具体数据

有两种工况,转速-负载配置设置为20-0和30-2。

每种工况下有:ball(滚动体故障)、comb(复合故障,即包含滚动体、外圈、内圈故障),health(健康)、inner(内圈故障)、outer(外圈故障)

code_20.py是只使用20_0工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集诊断。没有使用复合故障数据集

code_20_0.py是使用20_0工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)、comb(复合故障,即包含滚动体、外圈、内圈故障)诊断

code_30.py是只使用30_2工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集诊断。没有使用复合故障数据集

code_30_2.py是使用30_2工况下ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)、comb(复合故障,即包含滚动体、外圈、内圈故障)诊断

模型

 

 

首先在20-0工况数据集下实验

2.1.使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集。没有使用复合故障数据集

每类故障有1000个样本(一共4000个样本),训练集与测试集比例是9:1(训练集:3600个样本,测试集:400个样本)

 

 

测试集的混淆矩阵(以样本个数呈现) 

 

测试集的混淆矩阵(以准确率数呈现)  

 

 

2.2.使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集,comb(复合故障,即包含滚动体、外圈、内圈故障)。

每类故障有1000个样本(一共5000个样本),训练集与测试集比例是9:1(训练集:4500个样本,测试集:500个样本)

从结果可以看出,CNN对带有复合故障的数据集诊断准确率不高,需要区分复合故障与单独故障的特定算法, 才能提高准确率

 

测试集的混淆矩阵(以样本个数呈现)  

 

测试集的混淆矩阵(以准确率数呈现)   

 

 

 3.在30-2工况数据集下实验

3.1.使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集。没有使用复合故障数据集

每类故障有1000个样本(一共4000个样本),训练集与测试集比例是9:1(训练集:3600个样本,测试集:400个样本)

 

测试集的混淆矩阵(以样本个数呈现)  

 

测试集的混淆矩阵(以准确率数呈现)   

 

3.2. 

使用ball(滚动体故障)、health(健康)、inner(内圈故障)、outer(外圈故障)数据集,comb(复合故障,即包含滚动体、外圈、内圈故障)。

每类故障有1000个样本(一共5000个样本),训练集与测试集比例是9:1(训练集:4500个样本,测试集:500个样本)

 从结果可以看出,CNN对带有复合故障的数据集诊断准确率虽然不低,但是准确率不稳定。

 

 

 

测试集的混淆矩阵(以样本个数呈现)   

 

测试集的混淆矩阵(以准确率数呈现)    

 

 本次项目所有代码和数据放在了压缩包

import pandas as pd
import pandas as pd
import numpy as np
from keras.utils import np_utils
from sklearn import preprocessing
import tensorflow as tf
from matplotlib import pyplot as plt
#压缩包:https://mbd.pub/o/bread/ZJyTlp9y

 

 

http://www.lryc.cn/news/98635.html

相关文章:

  • ubuntu--Motrix
  • PHP 3des加解密新旧方法可对接加密
  • 【朴素贝叶斯-新闻主题分类】
  • 安卓面试问题记录
  • php-golang-jsonrpc2.0 rpc-codec/jsonrpc2和tivoka/tivoka实践
  • 听力词汇笔记(6级)
  • 【JVM】详细解析java创建对象的具体流程
  • kafka怎么用代码读取数据
  • 网关与路由器的区别
  • 助力工业物联网,工业大数据之工单事实指标需求分析【二十】
  • python_PyQt5开发工具结构基础
  • 【C++】入门基础2
  • Reinforcement Learning with Code 【Chapter 8. Value Funtion Approximation】
  • 常用InnoDB参数介绍
  • 云原生网关部署新范式丨 Higress 发布 1.1 版本,支持脱离 K8s 部署
  • 【通讯录】--C语言
  • 通过两种实现方式理解CANoe TC8 demo是如何判断接收的以太网报文里的字段的
  • Mysql- 存储引擎
  • vite / nuxt3 项目使用define配置/自定义,可以使用process.env.xxx获取的环境变量
  • 在Linux、Ubuntu中跨平台编译ARM(AARCH64)平台的binutils
  • SpringCloudAlibaba微服务实战系列(五)Sentinel1.8.5+Nacos持久化
  • pytest中conftest的用法以及钩子基本使用
  • 数据结构---顺序栈、链栈
  • 我的MacBook Pro:维护心得与实用技巧
  • Higress非K8S安装
  • QT--day4(定时器事件、鼠标事件、键盘事件、绘制事件、实现画板、QT实现TCP服务器)
  • hjm家族信托科技研究报告
  • [SQL挖掘机] - 视图相关操作
  • 【Quartus FPGA】EMIF DDR3 读写带宽测试
  • Flutter:flutter_local_notifications——消息推送的学习