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

代码运行要求: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/74469.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《Linux从练气到飞升》No.13 Linux进程状态

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…

2023年国赛数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

aspose 使用ftl模板生成word和pdf

1 先找到word模板,用${},替换变量,保存,然后另存为xml,最后把xml后缀改成ftl。 如下图: word 模板文件 ftl模板文件如下: 2 代码生成 下面函数将ftl填充数据,并生成word和pdf /*** * param dataMap 模板…

找到链表的第一个入环节点

1.题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统…

Docker 基本管理(一)

目录 一、虚拟化简介 1.1.虚拟化概述 1.2.cpu的时间分片(cpu虚拟化) 1.3.cpu虚拟化性性能瓶颈 1.4.虚拟化工作原理 1.5 虚拟化类型 1.6 虚拟化功能 ​二、Docker容器概述 2.1 docker是什么? 2.2 使用docker有什么意义&#xff…

正则表达式试炼

序 我希望在这里列出我很多想写的正则表达式,很多我想写,但是不知道怎么写的。分享点滴案例。未来这个文章会越来越长 前言 互联网时代,除了文本还有更好的学习方式,下面是几个不错的练习网站,如果你想系统地学习&a…

【C语言实战项目】通讯录

一.了解项目功能 在本次实战项目中我们的目标是实现一个通讯录: 该通讯录可以用来存储1000个人的信息 每个人的信息包括:姓名、年龄、性别、住址、电话 通讯录提供功能有: 添加联系人信息删除指定联系人信息查找指定联系人信息修改指定联系人信息显示所有…

python中两个数据框之间的遍历

1.输入文件1 文件1:第一列是基因名字,列2:外显子起始位置,列3:外显子终止位置,列4:外显子的序号 2.输入文件2: 备注:列1:基因id;列2:…

Verdi_如何dump信号的驱动强度

Verdi_如何dump信号的驱动强度 需求背景 在Verilog语法标准中,0和1各自被分成了8个强度等级; Strength NameStrength NameStrength Levelsupply 0supply 17strong 0strong 16pull 0pull 15large 0large 14weak 0weak 13medium 0medium 12small 0small…

软件测试用例设计方法之因果图法

基本概念 因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 设计测试用例的步骤 分析软件规格说明描述中, 哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件), 并给每…

『C语言初阶』第九章 -结构体

前言 今天小羊又来给铁汁们分享关于C语言的结构体,在C语言中,结构体类型属于一种构造类型(其他的构造类型还有:数组类型,联合类型),今天我们主要简单了解一下结构体。 一、结构体是什么&#x…

Redis_缓存1_缓存类型

14.redis缓存 14.1简介 穿透型缓存: 缓存与后端数据交互在一起,对服务端的调用隐藏细节。如果从缓存中可以读到数据,就直接返回,如果读不到,就到数据库中去读取,从数据库中读到数据,也是先更…

基于微服务+Java+Spring Cloud +Vue+UniApp +MySql实现的智慧工地云平台源码

基于微服务JavaSpring Cloud VueUniApp MySql开发的智慧工地云平台源码 智慧工地概念: 智慧工地就是互联网建筑工地,是将互联网的理念和技术引入建筑工地,然后以物联网、移动互联网技术为基础,充分应用BIM、大数据、人工智能、移…

node.js+Vue+Express学生宿舍校舍系统-ggr80

关键词:智慧学生校舍;简洁方便直观; 本次的毕业设计主要就是设计并开发一个智慧学生校舍系统。使用数据库mysql。系统主要包括个人中心、学生管理、教师管理、宿管管理、外来人员管理、维修人员管理、学生信息管理、学生签到管理、学生物品管…

因果推断(四)断点回归(RD)

因果推断(四)断点回归(RD) 在传统的因果推断方法中,有一种方法可以控制观察到的混杂因素和未观察到的混杂因素,这就是断点回归,因为它只需要观察干预两侧的数据,是否存在明显的断点…

利用ChatGPT绘制思维导图——以新能源汽车竞品分析报告为例

随着人们对环境保护的日益关注和传统燃油汽车的限制,全球范围内对新能源汽车的需求不断增长。新能源汽车市场的激烈竞争使得了解各个竞品的特点和优劣成为关键。然而,针对这一领域的详尽竞品分析却常常需要大量时间和精力。 在此背景下,人工智…

音视频 vs2017配置FFmpeg

vs2017 ffmpeg4.2.1 一、首先我把FFmpeg整理了一下&#xff0c;放在C盘 二、新建空项目 三、添加main.cpp&#xff0c;将bin文件夹下dll文件拷贝到cpp目录下 #include<stdio.h> #include<iostream>extern "C" { #include "libavcodec/avcodec.h&…

【计算机网络】Udp详解

前言 上几文章我们讲解了应用层协议Http和Https&#xff0c;要知道应用层协议有很多&#xff0c;这些都是程序员自己定制的&#xff0c;而真正要传输的时候&#xff0c;是要在操作系统的传输层进行的&#xff0c;今天我们就来学习一下传输层协议Udp的 标识一个通信 要进行跨…

OSI七层模型和TCP/IP四层模型

OSI七层模型和TCP/IP四层模型 七层模型(OSI) OSI七层模型&#xff08;Open Systems Interconnection Reference Model&#xff09;是一个用于计算机网络体系结构的标准化框架&#xff0c;旨在定义网络通信中不同层次的功能和协议。 各个层次具体如下&#xff1a; 物理层&am…

MongoDB的下载和安装

一、MongoDB下载 下载地址&#xff1a;https://www.mongodb.com/try/download/community 二、安装 因为选择下载的是 .zip 文件&#xff0c;直接跳过安装&#xff0c;一步到位。 选择在任一磁盘创建空文件夹&#xff08;不要使用中文路径&#xff09;&#xff0c;解压之后把…