添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

**注意:**我以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')
				
1. 引言 找出数据中的异常值是数据预处理的必备工作之一,如果数据中存在异常值对于一些数据分析算法具有重大的影响。 本文主要探讨关于寻找异常值(离群值)的注意事项。 2. 离群值 离群值是指跟大部分数据差异很大的样本。比如,在一项统计国民收入的例子中,少数富豪的收入就很像离群值。离群值对于一些数据分析方法会有很大的影响。我们不妨来举个栗子。 观察上图,为两个线性模型的分析结果,可以发现右侧只是增加一个离群值,我们的分析结果就会差很多。因此,如果没有处理好离群值,对于数据分析的结果可能会产生重大影响。 离群点,是一个数据对象,它显著不同于其他数据对象,与其他数据分布有较为显著的不同。有时也称非离群点为“正常数据”,离群点为“异常数据”。 离群点跟噪声数据不一样,噪声是被观测变量的随机误差或方差。一般而言,噪声在数据分析(包括离群点分析)中不是令人感兴趣的,需要在数据预处理中剔除的,减少对后续模型预估的影响,增加精度。 离群点检测是有意义的,因为怀疑产生它们的分布不同于产生其他数据的分布。因此,在离群点检测时,重要的是搞清楚是哪种外力产生的离群点。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-Means,BIRCH这些一般只适用于凸样本集的聚类相比,DBSCAN既可以适用于凸样本集,也可以适用于非凸样本集。这类密度聚类算法一般假定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们之间的紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。 使用场景: 用于不均匀的簇大小,以及非平坦的集合结构

欢迎来到我们全面的数据挖掘教程系列!在这里,我们为您精心准备了200多篇深入且实用的教程文档,旨在帮助您掌握数据挖掘的核心概念、技术和应用。无论您是初学者还是有经验的专业人士,这些教程都能满足您的学习需求。 教程涵盖了从基础的统计分析、数据预处理,到高级的机器学习算法、深度学习技术、自然语言处理等

数据处理和分析之数据预处理异常值处理(DBSCAN算法异常值检测中的应用)