0
点赞
收藏
分享

微信扫一扫

数据分析预处理-离群值处理

343d85639154 2022-03-10 阅读 85

@数据分析预处理

离群值检测

回归

在这里插入图片描述

3σ法

样本x和样本均值μ之间的距离,而且这个距离以标准差σ为单位进行计算:Z-score(x)=(x-μ)/σ
得到样本的Z-score值后,通常将满足条件|Z-score(x)|>3的样本视为离群值称为3σ法。

箱线图

是检验样本数据中异常值的常用方法,与3σ法不同,箱形图法既可以用作服从正态分布样本数据异常值判断,也可以用作不服从正态分布样本数据异常值判断,适用范围广。
箱线图由最大值、上四分位数(Q3)、中位数(Q2)、下四分位数(Q1)和最小值五个统计量构成,Q1到Q3的间距为IQR,箱两端分别为上四分位数 (Q3)、下四分位数 (Q1) , 最大值、最小值分别为箱两端的须, 箱线图法中样本数据大于Q3+1.5IQR和小于Q-1.5IQR定义为异常值 (outlier)。
pandas 方法:
plt.plot.box()

python 方法:
plt.plotbox

基于近邻判断离群值

通过比较每个点𝑝和其邻域点的密度来判断该点是否为异常点,点𝑝的密度越低,越可能被认定是异常点
密度通过点之间的距离来计算,点之间距离越远,密度越低,距离越近,密度越高
方法:
对样本的离群程度进行量化,分数由它与K个最近邻的距离决定,分数的取值[0,+∞]:
计算每一个样本与其最近的K个近邻样本的距离,放到集合C中。
对C中的所有元素进行降序排列。
根据给定的距离阈值,选取C中大于给定阈值的距离所对应的样本作为离群值。
neighbors.LocalOutlierFactor(
n_neighbors=10, #用于kneighbors查询的邻域数
algorithm=‘auto’, #{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, 可选
leaf_size=20, #传递给BallTree或KDTree的叶子大小
metric=‘minkowski’, #用于距离计算的度量
p=2, #p = 1时,manhattan_distance(l1);p = 2,euclidean_distance(l2)
metric_params=None,
contamination=0.1, #数据集中异常值的比例
n_jobs=6 #为邻域搜索运行的并行作业数
)

离群值处理

离群值的处理方法主要是要看在测试数据上的性能是否有提升。
正常情况下如果的确是离群值,在有离群值的特征较少的情况下,去掉后在测试数据上的性能是会有显著提升的。
在对数据分布影响较小的情况下,可以把离群值当成缺失值,或用均值替换。

举报

相关推荐

0 条评论