数据清洗-异常值处理-DBSCAN算法查找异常值

感觉大家对原理性的东西不太感兴趣,那我就直接举例提供代码,以及详细的注释,大家自己对照改代码应用于你自己建立的模型吧。

完整代码关注博客底部微信公众号获得!

这些代码全部是我自己做数模竞赛时候自己用的代码。可以直接运行,记得修改文件路径。

一、安装所需的python 包

pip install scikit-learn
pip install numpy
pip install pandas

二、采用DBSCAN算法判断异常值

**注意:**我以2016年电工杯的负荷数据为例进行处理,这个DBSCAN算法非常适用于数据量大的赛题,如负荷预测,货物流量预测等等之类的。

注意代码需要把自己的数据文件格式转换为CSV文件,并且把路径修改为自己文件所在的路径,不会转换的参考我此教程文件格式转换:EXCEL和CSV文件格式互相转换

我知道大家对原理性的东西不感兴趣,我把他的原理介绍放在文末,需要写论文的同学自己拿去用,记得修改,否则查重率过不去。

2.1 数据格式如下:

为了保证大家代码能够直接运行,我建议你们将日期修改为我下图的这种格式。
在这里插入图片描述

2.2代码(完整代码关注底部微信公众号获得)

注意:大家必须用我的这篇博客中的excel转csv,将你的excel文件转化为csv文件进行操作,否则会报错编码错误。

博客链接:文件格式转换:EXCEL和CSV文件格式互相转换

2.2.1 双变量

注意:双变量提供了可视化二维图像,确定x轴y轴变量,同时也会输出异常值

import pandas as pd
import numpy as np
from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False


# 尝试不同的编码读取CSV文件
try:
    data = pd.read_csv('fuhe_load_total.csv', encoding='gbk')
except UnicodeDecodeError:
    data = pd.read_csv('fuhe_load_total.csv', encoding='utf-8')











# 可视化结果
plt.scatter(X['最高温度'], X['最低温度'], c=clusters, cmap='Paired', label='Clusters'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ymchuangke

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值