变压器故障诊断(python代码,逻辑回归/SVM/KNN三种方法同时使用,有详细中文注释)

视频效果:变压器三种方法下故障诊断Python代码_哔哩哔哩_bilibili代码运行要求:tensorflow版本>=2.4.0,Python>=3.6.0即可,无需修改数据路径。

1.数据集介绍:

采集数据的设备照片

Transformer

Transformer

变压器在电力系统中扮演着非常重要的角色。尽管它们是电网中最可靠的部件,但由于内部或外部的许多因素,它们也容易发生故障。可能有许多启动器会导致变压器故障,但可能导致灾难性故障的启动器如下:机械故障,电介质故障等

这些数据是从2019年6月25日到2020年4月14日通过物联网设备收集的,每15分钟更新一次。

第一个文件打开 (10列特征)

第二个文件打开 (6列特征,最后一列是标签,正常状态为0,故障为1)

 

参数说明:

电流电压:

VL1-相线1

VL2-相线2

VL3-相线3

IL1-电流线路1

IL2-电流线路2

IL3-电流线路3

VL12-电压线1 2

VL23-电压线2 3

VL31-电压线3 1

INUT-中性点电流

概述:

OTI-机油温度指示器

WTI-绕组温度指示器

ATI-环境温度指示器

OLI-油位指示器

OTI_A-油温指示器报警

OTI_T-油温指示器跳闸

MOG_A-标签:正常未0,故障为1.

2.整个代码流程:

  1. 导入和配置库:导入了所需的数据处理、数据可视化和机器学习相关的库,并进行了matplotlib和seaborn的样式和参数配置。

  2. 数据预处理:读取了两个CSV文件(Overview.csv和CurrentVoltage.csv),将它们转换为DataFrame,并对其中的日期时间列进行了格式转换。

  3. 数据合并:将两个DataFrame(tf和cv)根据时间戳列(DeviceTimeStamp)合并为一个新的DataFrame(transformer)。

  4. 数据可视化:使用matplotlib和seaborn库绘制了多个图表,包括散点图、折线图、计数柱状图和饼图,来可视化不同传感器数据的变化趋势、分布情况等。

  5. 机器学习模型训练和评估:使用scikit-learn库中的机器学习模型(Logistic Regression、SVM、K-Nearest Neighbors)对数据进行了训练,并进行了模型准确率的评估。具体步骤包括:

    • 数据预处理:特征缩放,将特征值缩放到0到1的范围内。
    • 训练集和测试集划分:将数据集划分为训练集和测试集。
    • 模型训练:分别使用Logistic Regression、SVM和K-Nearest Neighbors模型对训练集进行训练。
    • 预测和评估:使用训练好的模型对测试集进行预测,并计算模型的训练准确率和测试准确率。
    • 分类报告和混淆矩阵:打印出分类报告,包括精确率、召回率和F1分数等指标,同时绘制混淆矩阵来展示模型的分类结果。

 3.原始数据特征展示:

3.1.使用sns.relplot函数绘制tf DataFrame中的OTI、ATI和WTI列的关系图,根据MOG_A列进行着色。

3.2. 绘制油温指示器图

 3.3.绘制绕组温度指示器警报图

 3.4.绘制油温指示器警报 OTIT 图

 3.5.绘制温度指示器行程图

 

 3.6 绘制油位指示器图

 3.7.绘制磁性油位指示器图

3.8分别绘制OTI_T列和MOG_A列的计数柱状图和饼图

 

4.三种不同模型下的诊断准确率(log:逻辑回归,svc:支持向量机,knn方法)

训练集和测试集的特征输入。

训练集和测试集的标签输入。 

 

三种方法下测试集的混淆矩阵

 

 数据和代码放在了压缩包里,下载后无需修改数据路径,解压缩后直接运行(可远程协助运行代码)


import numpy as np  # 导入NumPy库用于数值计算
import pandas as pd  # 导入Pandas库用于数据处理和CSV文件读写
import os  # 导入os库用于操作系统相关功能
for dirname, _, filenames in os.walk('/data'):
    for filename in filenames:
        print(os.path.join(dirname, filename))
import pandas as pd  # 导入Pandas库
import numpy as np  # 导入NumPy库
import seaborn as sns  # 导入Seaborn库用于数据可视化
import matplotlib.pyplot as plt  # 导入Matplotlib库用于绘图
import datetime  # 导入datetime库用于日期时间处理
import warnings  # 导入warnings库用于警告管理
from matplotlib import pyplot as plt
#压缩包:https://mbd.pub/o/bread/ZJybm5dq

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: CNN(卷积神经网络)变压器故障诊断代码是一种基于深度学习的方法,用于检测和识别变压器的故障状态。下面是关于CNN变压器故障诊断代码的一些说明: 首先,CNN变压器故障诊断代码的输入通常是变压器图像或其它相关数据。这些数据可以是通过红外热像技术获取的变压器热图,或者是通过传感器收集的变压器温度、电流等数据。这些输入数据将被用来训练和测试CNN模型。 然后,我们需要为CNN模型定义合适的架构,以便有效地对变压器故障进行诊断。通常,CNN模型由多个卷积层、池化层和全连接层组成。卷积层用于提取图像中的特征,池化层用于减小特征映射的维度,全连接层用于分类和输出变压器的故障状态。此外,为了避免过拟合现象,可以使用Dropout层或正则化技术。 接下来,我们需要为训练数据集提供正确的标签。这些标签代表了变压器图像或数据对应的故障状态,例如过热、短路、漏油等。训练数据集应包括足够数量的样本,并且应具有平衡的类别分布。 然后,我们需要选择适当的优化算法和损失函数来训练CNN模型。常见的优化算法包括梯度下降、Adam等,常见的损失函数包括交叉熵、均方误差等。我们可以通过在训练集上进行前向传播和反向传播迭代更新模型的权重和偏置,来逐步改善模型的性能。 最后,我们可以使用训练好的CNN模型来对新的变压器图像或数据进行预测和诊断。该模型将输出一个故障状态的概率分布,我们可以通过设置一个阈值来确定最终的故障诊断结果。 总结起来,CNN变压器故障诊断代码是一种通过深度学习技术,使用卷积神经网络来识别和判断变压器的故障状态的方法。这种方法可以对大量的变压器数据进行高效的分析和诊断,具有较高的准确性和可靠性。 ### 回答2: cnn变压器故障诊断代码是一种用于故障检测和诊断的计算机程序代码,可以帮助工程师快速准确地排查和解决变压器故障。这些代码通常基于卷积神经网络(CNN)算法,CNN是一种深度学习算法,可以对图像和数据进行有效的特征提取和分类。 首先,cnn变压器故障诊断代码将通过传感器或监测装置获取变压器的运行数据,如温度、振动、油质等。然后,通过预处理算法对原始数据进行处理,将其转换为适合输入CNN的格式。 接下来,代码将利用训练好的CNN模型来对变压器数据进行识别和分类。模型可以根据历史故障数据进行训练,学习不同故障模式的特征表示。当新的数据输入到CNN中时,代码将分析数据的特征,并与已知的故障模式进行匹配。 最后,cnn变压器故障诊断代码将根据识别和分类结果生成相应的诊断报告。报告可能包括故障类型、故障程度、建议的维修措施等信息,以帮助工程师快速定位和解决变压器故障。 总而言之,CNN变压器故障诊断代码是一种应用深度学习算法的计算机程序,可以自动化地对变压器进行故障检测和诊断,提高故障排除的效率和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习的奋斗者

你的鼓励是我努力的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值