使用python實(shí)現(xiàn)CNN-GRU故障診斷的代碼示例
要實(shí)現(xiàn)1DCNN-GRU進(jìn)行故障診斷,您可以使用以下Python代碼作為參考:
首先,導(dǎo)入所需的庫(kù):
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
加載訓(xùn)練集和測(cè)試集的數(shù)據(jù):
train_X = np.load('train_X.npy') # 加載訓(xùn)練集特征數(shù)據(jù) train_Y = np.load('train_Y.npy') # 加載訓(xùn)練集標(biāo)簽數(shù)據(jù) test_X = np.load('test_X.npy') # 加載測(cè)試集特征數(shù)據(jù) test_Y = np.load('test_Y.npy') # 加載測(cè)試集標(biāo)簽數(shù)據(jù)
定義模型結(jié)構(gòu):
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'])
訓(xùn)練模型:
繪制訓(xùn)練過(guò)程的準(zhǔn)確率和損失曲線:
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()
在測(cè)試集上進(jìn)行預(yù)測(cè)并計(jì)算準(zhǔn)確率和混淆矩陣:
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()
請(qǐng)確保您已經(jīng)準(zhǔn)備好訓(xùn)練集和測(cè)試集的數(shù)據(jù)(train_X.npy、train_Y.npy、test_X.npy和test_Y.npy)。這只是一個(gè)簡(jiǎn)單示例,您可能需要根據(jù)您的數(shù)據(jù)集的特點(diǎn)進(jìn)行必要的調(diào)整,例如輸入信號(hào)的形狀、類別數(shù)量和標(biāo)簽格式等。
希望對(duì)您有所幫助!如需更詳細(xì)或個(gè)性化的幫助,請(qǐng)?zhí)峁└嘞嚓P(guān)代碼和數(shù)據(jù)。
到此這篇關(guān)于使用python實(shí)現(xiàn)CNN-GRU故障診斷的文章就介紹到這了,更多相關(guān)python CNN-GRU故障診斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python利用CNN實(shí)現(xiàn)對(duì)時(shí)序數(shù)據(jù)進(jìn)行分類
- Python與CNN的碰撞詳解
- Python?CNN卷積神經(jīng)網(wǎng)絡(luò)實(shí)戰(zhàn)教程深入講解
- python人工智能tensorflow構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)CNN
- Python實(shí)現(xiàn)CNN的多通道輸入實(shí)例
- Python+Tensorflow+CNN實(shí)現(xiàn)車牌識(shí)別的示例代碼
- python神經(jīng)網(wǎng)絡(luò)Keras實(shí)現(xiàn)GRU及其參數(shù)量
相關(guān)文章
詳解Python的Django框架中的模版相關(guān)知識(shí)
這篇文章主要介紹了Python的Django框架中的模版相關(guān)知識(shí),模版的存在大大簡(jiǎn)化了創(chuàng)作頁(yè)面時(shí)HTML的相關(guān)工作,需要的朋友可以參考下2015-07-07三個(gè)Python自動(dòng)化辦公好用到爆的模塊分享
本文小編來(lái)給大家推薦幾個(gè)在自動(dòng)化辦公領(lǐng)域當(dāng)中非常好用的Python模塊,可以幫助大家在工作當(dāng)中及大地提高效率,避免重復(fù)機(jī)械化地操作流程2022-07-07python根據(jù)url地址下載小文件的實(shí)例
今天小編就為大家分享一篇python根據(jù)url地址下載小文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12解決python3捕獲cx_oracle拋出的異常錯(cuò)誤問(wèn)題
今天小編就為大家分享一篇解決python3捕獲cx_oracle拋出的異常錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10python3獲取控制臺(tái)輸入的數(shù)據(jù)的具體實(shí)例
在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python3獲取控制臺(tái)輸入的數(shù)據(jù)的具體實(shí)例內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-08-08Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法
這篇文章主要介紹了Python Selenium XPath根據(jù)文本內(nèi)容查找元素的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12OpenCV實(shí)戰(zhàn)案例之車道線識(shí)別詳解
計(jì)算機(jī)視覺(jué)在自動(dòng)化系統(tǒng)觀測(cè)環(huán)境、預(yù)測(cè)該系統(tǒng)控制器輸入值等方面起著至關(guān)重要的作用,下面這篇文章主要給大家介紹了關(guān)于OpenCV實(shí)戰(zhàn)案例之車道線識(shí)別的相關(guān)資料,需要的朋友可以參考下2022-10-10