每位数据科学家都应了解的五种检测异常值/异常的方法 (Python 代码)2025年1月7日 | 5 分钟阅读 在数据科学中,区分异常值或不一致项至关重要,因为它们会极大地影响数据研究的结果。数据点,通常称为异常值,是指与其他观测值有显著偏差的点。这些观测值可能是由于估计不准确、测试错误或异常事件造成的。异常检测的应用多种多样,包括质量控制、欺诈检测和网络安全。在本教程中,我们将通过 Python 代码示例,探讨一些识别异常值或离群值的方法。 数据科学家的不同异常值/离群值检测方法在下一节中,我们将讨论数据科学家常用的不同异常值或离群值检测方法。 其中一些方法如下:
现在,我们将通过使用 Python 编程语言的示例来理解这五种方法。 理解 Z 分数法Z 分数法是一种基本检测方法,用于计算一个数据点与平均值的标准差数量。如果一个数据点的 Z 分数超过某个阈值(通常是 3 或 -3),则将其标记为异常值。 方法 Z 分数计算如下: 代码 输出 Outliers using Z-Score method: (array([11], dtype=int64),) 理解 IQR(四分位距)法四分位距(Interquartile Range),简称 IQR,是一种非参数方法,用于通过数据的中间 50% 的分布来查找异常值或离群值。异常值被定义为与第一四分位数(Q1)或第三四分位数(Q3)相差 1.5 倍 IQR 的数据点。 方法 IQR 的计算方法是: 使用以下方法检测异常值:
代码 输出 Outliers using IQR method: [100] 理解 DBSCAN(基于密度的噪声应用空间聚类)法基于密度的噪声应用空间聚类(Density-Based Spatial Clustering of Applications with Noise),简称 DBSCAN,是一种聚类方法,用于在数据点密集聚集并形成簇时,以及当一个点孤立在低密度区域时,检测和分类异常值或离群值。 方法 DBSCAN 需要两个参数:
异常值被定义为不属于任何簇的点。 代码 输出 Outliers using DBSCAN method: [[ 27] [100]] 理解 Isolation Forest 法Isolation Forest 算法使用一种方法来划分观测值,通过随机选择、包含和将异常值或离群值隔离到最大值和最小值。它的原理是异常值数量少且独特,这使得将它们分离出来更加容易。 方法 划分是通过创建路径长度较短的树来完成的,森林会在异常值被隔离在树的底部附近的位置种植树木。 代码 输出 Outliers using Isolation Forest method: [[ 27] [100]] LOF(局部离群因子)法局部离群因子(Local Outlier Factor),简称 LOF,是一种用于衡量给定数据点相对于其邻居的局部密度偏差的方法。异常值被定义为密度明显低于其邻居密度的点。 方法 LOF 方法用于对具有相似密度的区域进行排序和识别,并找出密度明显低于其邻居的区域,LOF 将每个点的局部密度与其邻居的密度进行比较。 代码 输出 Outliers using LOF method: [[ 27] [100]] 结论在数据预处理阶段,识别异常值至关重要,因为它们有可能扭曲解释性发现并阻碍模型性能。Z 分数、IQR、DBSCAN、Isolation Forest 和 LOF 是我们在本文中考察的五种主要的异常值检测方法。每种方法都有其优点,并且适用于不同类型的数据和应用。通过理解和实践这些技术,数据科学家可以确保其数据分析的准确性和一致性。 拥有这些方法作为工具箱,您将能够很好地识别和管理数据集中的异常值,从而构建更可靠、更准确的模型。 |
我们请求您订阅我们的新闻通讯以获取最新更新。