視頻效果:變壓器三種方法下故障診斷Python代碼_嗶哩嗶哩_bilibili代碼運(yùn)行要求:tensorflow版本>=2.4.0,Python>=3.6.0即可,無(wú)需修改數(shù)據(jù)路徑。
1.數(shù)據(jù)集介紹:
采集數(shù)據(jù)的設(shè)備照片
變壓器在電力系統(tǒng)中扮演著非常重要的角色。盡管它們是電網(wǎng)中最可靠的部件,但由于內(nèi)部或外部的許多因素,它們也容易發(fā)生故障??赡苡性S多啟動(dòng)器會(huì)導(dǎo)致變壓器故障,但可能導(dǎo)致災(zāi)難性故障的啟動(dòng)器如下:機(jī)械故障,電介質(zhì)故障等
這些數(shù)據(jù)是從2019年6月25日到2020年4月14日通過(guò)物聯(lián)網(wǎng)設(shè)備收集的,每15分鐘更新一次。
第一個(gè)文件打開(kāi) (10列特征)
第二個(gè)文件打開(kāi) (6列特征,最后一列是標(biāo)簽,正常狀態(tài)為0,故障為1)
?
參數(shù)說(shuō)明:
電流電壓:
VL1-相線(xiàn)1
VL2-相線(xiàn)2
VL3-相線(xiàn)3
IL1-電流線(xiàn)路1
IL2-電流線(xiàn)路2
IL3-電流線(xiàn)路3
VL12-電壓線(xiàn)1 2
VL23-電壓線(xiàn)2 3
VL31-電壓線(xiàn)3 1
INUT-中性點(diǎn)電流
概述:
OTI-機(jī)油溫度指示器
WTI-繞組溫度指示器
ATI-環(huán)境溫度指示器
OLI-油位指示器
OTI_A-油溫指示器報(bào)警
OTI_T-油溫指示器跳閘
MOG_A-標(biāo)簽:正常未0,故障為1.
2.整個(gè)代碼流程:
-
導(dǎo)入和配置庫(kù):導(dǎo)入了所需的數(shù)據(jù)處理、數(shù)據(jù)可視化和機(jī)器學(xué)習(xí)相關(guān)的庫(kù),并進(jìn)行了matplotlib和seaborn的樣式和參數(shù)配置。
-
數(shù)據(jù)預(yù)處理:讀取了兩個(gè)CSV文件(Overview.csv和CurrentVoltage.csv),將它們轉(zhuǎn)換為DataFrame,并對(duì)其中的日期時(shí)間列進(jìn)行了格式轉(zhuǎn)換。
-
數(shù)據(jù)合并:將兩個(gè)DataFrame(tf和cv)根據(jù)時(shí)間戳列(DeviceTimeStamp)合并為一個(gè)新的DataFrame(transformer)。
-
數(shù)據(jù)可視化:使用matplotlib和seaborn庫(kù)繪制了多個(gè)圖表,包括散點(diǎn)圖、折線(xiàn)圖、計(jì)數(shù)柱狀圖和餅圖,來(lái)可視化不同傳感器數(shù)據(jù)的變化趨勢(shì)、分布情況等。
-
機(jī)器學(xué)習(xí)模型訓(xùn)練和評(píng)估:使用scikit-learn庫(kù)中的機(jī)器學(xué)習(xí)模型(Logistic Regression、SVM、K-Nearest Neighbors)對(duì)數(shù)據(jù)進(jìn)行了訓(xùn)練,并進(jìn)行了模型準(zhǔn)確率的評(píng)估。具體步驟包括:
- 數(shù)據(jù)預(yù)處理:特征縮放,將特征值縮放到0到1的范圍內(nèi)。
- 訓(xùn)練集和測(cè)試集劃分:將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集。
- 模型訓(xùn)練:分別使用Logistic Regression、SVM和K-Nearest Neighbors模型對(duì)訓(xùn)練集進(jìn)行訓(xùn)練。
- 預(yù)測(cè)和評(píng)估:使用訓(xùn)練好的模型對(duì)測(cè)試集進(jìn)行預(yù)測(cè),并計(jì)算模型的訓(xùn)練準(zhǔn)確率和測(cè)試準(zhǔn)確率。
- 分類(lèi)報(bào)告和混淆矩陣:打印出分類(lèi)報(bào)告,包括精確率、召回率和F1分?jǐn)?shù)等指標(biāo),同時(shí)繪制混淆矩陣來(lái)展示模型的分類(lèi)結(jié)果。
?3.原始數(shù)據(jù)特征展示:
3.1.使用sns.relplot函數(shù)繪制tf DataFrame中的OTI、ATI和WTI列的關(guān)系圖,根據(jù)MOG_A列進(jìn)行著色。
3.2. 繪制油溫指示器圖
?3.3.繪制繞組溫度指示器警報(bào)圖
?3.4.繪制油溫指示器警報(bào) OTIT 圖
?3.5.繪制溫度指示器行程圖
?
?3.6 繪制油位指示器圖
?3.7.繪制磁性油位指示器圖
3.8分別繪制OTI_T列和MOG_A列的計(jì)數(shù)柱狀圖和餅圖
?
4.三種不同模型下的診斷準(zhǔn)確率(log:邏輯回歸,svc:支持向量機(jī),knn方法)
訓(xùn)練集和測(cè)試集的特征輸入。
訓(xùn)練集和測(cè)試集的標(biāo)簽輸入。?
?
三種方法下測(cè)試集的混淆矩陣
?
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-649324.html
?數(shù)據(jù)和代碼放在了壓縮包里,下載后無(wú)需修改數(shù)據(jù)路徑,解壓縮后直接運(yùn)行(可遠(yuǎn)程協(xié)助運(yùn)行代碼)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-649324.html
import numpy as np # 導(dǎo)入NumPy庫(kù)用于數(shù)值計(jì)算
import pandas as pd # 導(dǎo)入Pandas庫(kù)用于數(shù)據(jù)處理和CSV文件讀寫(xiě)
import os # 導(dǎo)入os庫(kù)用于操作系統(tǒng)相關(guān)功能
for dirname, _, filenames in os.walk('/data'):
for filename in filenames:
print(os.path.join(dirname, filename))
import pandas as pd # 導(dǎo)入Pandas庫(kù)
import numpy as np # 導(dǎo)入NumPy庫(kù)
import seaborn as sns # 導(dǎo)入Seaborn庫(kù)用于數(shù)據(jù)可視化
import matplotlib.pyplot as plt # 導(dǎo)入Matplotlib庫(kù)用于繪圖
import datetime # 導(dǎo)入datetime庫(kù)用于日期時(shí)間處理
import warnings # 導(dǎo)入warnings庫(kù)用于警告管理
from matplotlib import pyplot as plt
#壓縮包:https://mbd.pub/o/bread/ZJybm5dq
到了這里,關(guān)于變壓器故障診斷(python代碼,邏輯回歸/SVM/KNN三種方法同時(shí)使用,有詳細(xì)中文注釋?zhuān)┑奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!