使用python实现CNN-GRU故障诊断

这篇具有很好参考价值的文章主要介绍了使用python实现CNN-GRU故障诊断。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

要实现1DCNN-GRU进行故障诊断,您可以使用以下Python代码作为参考:

首先,导入所需的库:

import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import Conv1D, MaxPooling1D, GlobalAveragePooling1D, GRU, Dense
from tensorflow.keras.models import Sequential
from sklearn.metrics import classification_report, confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

加载训练集和测试集的数据:

train_X = np.load('train_X.npy')  # 加载训练集特征数据
train_Y = np.load('train_Y.npy')  # 加载训练集标签数据

test_X = np.load('test_X.npy')  # 加载测试集特征数据
test_Y = np.load('test_Y.npy')  # 加载测试集标签数据

定义模型结构:

model = Sequential()
model.add(Conv1D(64, 3, activation='relu', input_shape=train_X.shape[1:]))
model.add(MaxPooling1D(2))
model.add(Conv1D(128, 3, activation='relu'))
model.add(MaxPooling1D(2))
model.add(GRU(64, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

训练模型:

绘制训练过程的准确率和损失曲线:

plt.plot(history.history['accuracy'])
plt.plot(history.history['val_accuracy'])
plt.title('Model Accuracy')
plt.ylabel('Accuracy')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()

plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('Model Loss')
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper right')
plt.show()

在测试集上进行预测并计算准确率和混淆矩阵:

pred_Y = model.predict(test_X)
pred_Y = np.round(pred_Y).flatten()

accuracy = np.mean(pred_Y == test_Y)
print("Test Accuracy: {:.2f}%".format(accuracy * 100))

cm = confusion_matrix(test_Y, pred_Y)
sns.heatmap(cm, annot=True, fmt="d", cmap="Blues", xticklabels=['Normal', 'Fault'], yticklabels=['Normal', 'Fault'])
plt.title("Confusion Matrix")
plt.xlabel("Predicted Labels")
plt.ylabel("True Labels")
plt.show()

请确保您已经准备好训练集和测试集的数据(train_X.npytrain_Y.npytest_X.npytest_Y.npy)。这只是一个简单示例,您可能需要根据您的数据集的特点进行必要的调整,例如输入信号的形状、类别数量和标签格式等。

希望对您有所帮助!如需更详细或个性化的帮助,请提供更多相关代码和数据。文章来源地址https://www.toymoban.com/news/detail-524973.html

到了这里,关于使用python实现CNN-GRU故障诊断的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 增加PyQt5界面的交通流量预测(模型为CNN_GRU,CNN_BiGRU_ATTENTION,LSTM,Python代码)

    1.效果视频:增加PyQt5界面的交通流量预测(模型为CNN_GRU,CNN_BiGRU_ATTENTION,LSTM)_哔哩哔哩_bilibili) 2.三个模型和数据集的介绍 交通流量预测(python代码,压缩包中带有数据,CNN_GRU,CNN_BiGRU_ATTENTION,LSTM三种不同模型,多特征输入,单标签输出,可以替换为其它时序数据集)_交通

    2024年04月28日
    浏览(40)
  • 分类预测 | Matlab实现基于TSOA-CNN-GRU-Attention的数据分类预测

    效果一览 基本介绍 Matlab实现分类预测 | Matlab实现基于TSOA-CNN-GRU-Attention的数据分类预测(Matlab完整程序和数据) 凌日优化卷积神经网络结合门控循环单元融合注意力机制的数据分类预测是一种复杂的模型架构,旨在提高数据分类任务的性能。下面我将逐步介绍这个模型的各个

    2024年02月13日
    浏览(49)
  • 多维时序 | MATLAB实现SABO-CNN-GRU-Attention多变量时间序列预测

    预测效果 基本介绍 多维时序 | MATLAB实现SABO-CNN-GRU-Attention多变量时间序列预测。 模型描述 MATLAB实现SABO-CNN-GRU-Attention多变量时间序列预测 1.无Attention适用于MATLAB 2020版及以上版本;融合Attention要求Matlab2023版以上; 2.基于减法平均优化器优化算法(SABO)、卷积神经网络(CNN)和

    2024年02月11日
    浏览(55)
  • 多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测

    预测效果 基本介绍 MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测,WOA-CNN-GRU-Attention结合注意力机制多变量时间序列预测。 模型描述 Matlab实现WOA-CNN-GRU-Attention多变量时间序列预测 1.融合Attention要求Matlab2023版以上; 2.基于鲸鱼优化算法(WOA)、卷积神经网络(CNN)和门控循环

    2024年02月12日
    浏览(48)
  • 分类预测 | MATLAB实现1D-2D-CNN-GRU的多通道输入数据分类预测

    分类效果 基本介绍 结合1D时序-2D图像多模态融合的CNN-GRU故障识别算法,基于一维时序信号和二维图像多元信息融合的卷积神经网络结门控循环单元网络的数据分类预测/故障识别算法。要求2020版以上。 采用双支路输入,一路为图像输入经CNN提取特征,一路为特征序列输入经

    2024年02月12日
    浏览(43)
  • Python轴承故障诊断 (四)基于EMD-CNN的故障分类

    目录 前言 1 经验模态分解EMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 2.3 故障数据的EMD分解可视化 2.4 故障数据的EMD分解预处理 3 基于EMD-CNN的轴承故障诊断分类 3.1 训练数据、测试数据分组,数据分batch 3.2 定义EMD-VGG1d网络模型 3.3 设置参数

    2024年04月27日
    浏览(36)
  • CNN网络的故障诊断(轴承的多故障类型分类+Python代码)

            卷积神经网络作为深度学习的经典算法之一,凭借局部连接和权值共享的优点,有效地降低了传统神经网络的复杂度。卷积神经网络结构由输入层、卷积层、池化层、全连接层和输出层等构成。 图 卷积神经网络          卷积层采用多组卷积核与输入层进行卷

    2024年02月07日
    浏览(51)
  • 分类预测 | MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元多输入分类预测

    效果一览 基本介绍 基于贝叶斯(bayes)优化卷积神经网络-门控循环单元(CNN-GRU)分类预测,BO-CNN-GRU/Bayes-CNN-GRU多输入分类模型。 1.优化参数为:学习率,隐含层节点,正则化参数。 2.可视化展示分类准确率,输入多个特征,输出四个类别。 3.运行环境matlab2020b及以上。 模型描述

    2023年04月23日
    浏览(45)
  • 时序预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元时间序列预测

    预测效果 基本介绍 时序预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元时间序列预测,运行环境Matlab2020b及以上。优化正则化率、学习率、隐藏层单元数。 1.MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元时间序列预测 2.单变量时间序列预测; 3.多指标评价,评价

    2024年02月12日
    浏览(47)
  • 分类预测 | Matlab实现KOA-CNN-GRU-selfAttention多特征分类预测(自注意力机制)

    分类效果 基本描述 1.Matlab实现KOA-CNN-GRU-selfAttention开普勒算法优化卷积门控循环单元融合自注意力多特征分类预测,多特征输入模型,运行环境Matlab2023b及以上; 2.基于开普勒算法(KOA)优化卷积门控循环单元(CNN-GRU)结合自注意力机制(selfAttention)分类预测。2023年新算法KOA,M

    2024年02月08日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包