R语言 电力窃漏电用户自动识别实验

本文介绍了一个使用R语言进行电力窃漏电用户自动识别的实验,包括数据预处理、神经网络模型构建、模型训练与测试、以及模型评价。实验涉及数据清洗、缺失值处理、数据分割、神经网络模型的训练与应用,最终通过混淆矩阵评估模型的准确率。
摘要由CSDN通过智能技术生成

实验所用数据上传在我的资源了

一、实验目的

了解数据挖掘的过程。

掌握神经网络构建分类模型。

二、实验内容

实验数据包含所有窃漏电用户及正常用户的窃漏电评价指标数据(电量、线损及告警)和该用户在当天是否窃漏电的标签。选取其中291个样本数据,得到专家样本,数据见“model.csv”。使用神经网络实现分类预测模型,并使用混淆矩阵对模型进行评价。

三、实验方法与步骤

1、 把已经过预处理的专家样本数据“model.csv”读入工作空间。

2、 把工作空间的建模数据随机分成两部分,一部分用于训练,另一部分用于测试。

3、 使用nnet包里的nnet()函数以及训练数据构建神经网络模型,使用predict函数和构建的神经网络模型分别对训练数据和测试数据进行分类。

4、 使用混淆矩阵并计算准确率,对模型进行评价。

代码实现(将完整代码粘贴到以下区域,关键代码应使用注释说明):

> data_FB=read.csv("E:/TZZY/zwy/chapter1/窃漏电用户分布分析.csv",header = TRUE)

> View(data_FB)

> Type = table(data_FB[,3])

> Type

 

  大工业   非工业 居民生活 农业生产 普通工业     商业

      23        5        6        3        9        7

> pie(Type)

> Unusual<-read.csv("E:/TZZY/zwy/chapter1/窃电用电量数据.csv",header = TRUE)

> View(Unusual)

> plot(Unusual[,2],type = "l",col="blue")

> Regular<-read.csv("E:/TZZY/zwy/chapter1/正常用电量数据.csv",header = TRUE)

> View(Regular)

> plot(Regular[,2],type = "l",col="blue")

> plot(Regular[,2],ylim = c(0,8000),type = "l",col = "blue")#无法显示

> lines(Unusual[,2],col="red",type="l")

> lagrange <- function(x, xi, yi) {

+   n <- length(xi)  

+   lage <- 0

+   for (i in 1:n) {

+     li <- 1

+     for (j in 1:n) {

+       if (i != j) {

+         li <- li * (x - xi[j]) / (xi[i] - xi[j])

+       }

+     }

+     lage <- li * yi[i] + lage

+   }

+   return(lage)

+ }

> missing_data=read.csv("E:/TZZY/zwy/chapter1/missing_data.csv",header=F)

> View(missing_data)

> missdata <- missing_data

> missdata

         V1       V2       V3

1  235.8333 350.8333 478.3231

2  236.2708 351.2708 515.4564

3  238.0521 353.0521 517.0909

4  235.9063 350.9063 514.8900

5  236.7604 351.7604       NA

6        NA 352.4167 486.0912

7  237.4167 353.6563 516.2330

8  238.6563       NA       NA

9  237.6042 352.6042 435.3508

10 238.0313 353.0313 487.6750

11 235.0729 350.0729       NA

12 235.5313 350.5313 660.2347

13       NA 349.4688 621.2346

14 234.4688       NA 611.3408

15 235.5000 350.5000 643.0863

16 235.6354 350.6354 642.3482

17 234.5521 349.5521       NA

18 236.0000       NA 602.9347

19 235.2396 350.2396 589.3457

20 235.4896 350.48

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值