Python 异常值处理 箱线图、3σ原则 (机器学习)

简介: Python 异常值处理 箱线图、3σ原则 (机器学习)

✌ 查看数据异常值

1、✌ 箱线图

✌ 下四分位数Q1:

数据的1/4位置,Qi所在位置=i(n+1)/4,其中i=1,2,3。n表示序列中包含的项数。

例如100个数据,Q1所在位置=(100+1)/ 4

Q1=0.25×Q1位置+0.75×(Q1位置+1)

✌ 中位数Q2:

Q2所在位置=2 *(100+1)/ 4

位于数据的中间位置

Q1=0.5×Q2位置+0.5×(Q2位置+1)

✌ 上四分位数Q3:

Q3所在位置=3 *(100+1)/ 4

Q3=0.75×Q3位置+0.25×(Q3位置+1)

位于数据的3/4位置

✌ 四分位距IQR:

IQR=Q3-Q1

✌ 下限:

下限是非异常范围内的最小值。

下限=Q1-1.5IQR

✌ 上限

上限是非异常范围内的最大值。

上限=Q3+1.5IQR

2、✌ 3σ原则

在正态分布中

σ代表标准差,μ代表均值,x=μ即为图像的对称轴

3σ原则为

数值分布在(μ-σ,μ+σ)中的概率为0.6826

数值分布在(μ-2σ,μ+2σ)中的概率为0.9544

数值分布在(μ-3σ,μ+3σ)中的概率为0.9974

可以认为,Y 的取值几乎全部集中在(μ-3σ,μ+3σ)]区间内,超出这个范围的可能性仅占不到0.3%。

所以可以利用该性质剔除异常值

3、✌ 代码测试

3.1 ✌ 导库

import pandas as pd
import numpy as np

3.2 ✌ 创建数据

x=np.random.randint(10,100,(100000,10))
x=pd.DataFrame(x)
rows=np.random.randint(1,100000,100)
cols=np.random.randint(0,10,100)
x.iloc[rows,cols]=1000
(x==99999999).sum()

3.3 ✌ 箱线图

x.boxplot()

3.4 ✌ 3σ原则

a=pd.DataFrame()
for i in x.columns:
    z=(x[i]-x[i].mean())/x[i].std()
    a[i]=abs(z)>3
a.sum()


目录
相关文章
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
540 7
|
11月前
|
机器学习/深度学习 存储 运维
机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统
本研究通过实验演示了异常标记如何逐步完善异常检测方案和主要分类模型在欺诈检测中的应用。实验结果表明,Isolation Forest作为一个强大的异常检测模型,无需显式建模正常模式即可有效工作,在处理未见风险事件方面具有显著优势。
918 46
|
机器学习/深度学习 人工智能 算法
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
1343 12
Scikit-learn:Python机器学习的瑞士军刀
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
Python与机器学习:使用Scikit-learn进行数据建模
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
机器学习/深度学习 数据可视化 算法
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
302 0
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
574 0
|
8月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1351 102
|
8月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
475 104

热门文章

最新文章

推荐镜像

更多