离群点(孤立点、异常值)检测方法

异常点检测,有时也叫离群点检测,英文一般叫做Novelty Detection或者Outlier Detection,是比较常见的一类非监督学习算法,这里就对异常点检测算法做一个总结。

离群点是什么?


异常对象被称作离群点。异常检测也称偏差检测和例外挖掘。孤立点是一个明显偏离与其他数据点的对象,它就像是由一个完全不同的机制生成的数据点一样。

离群点检测是数据挖掘中重要的一部分,它的任务是发现与大部分其他对象显著不同的对象。大部分数据挖掘方法都将这种差异信息视为噪声而丢弃,然而在一些应用中,罕见的数据可能蕴含着更大的研究价值。

离群点检测已经被广泛应用于电信和信用卡的诈骗检测、贷款审批、电子商务、网络入侵、天气预报等领域,如可以利用离群点检测分析运动员的统计数据,以发现异常的运动员。

孤立 点 检 测 在 国 外 获 得 了 广 泛 的 研 究 和 应用, E. M. Knorr 和 R. T. N将孤立点检测用于分析 NHL ( Nationai Hockey League )的 运 动 员 统 计 数据,用来发现表现例外的运动员;

异常点检测算法使用场景

什么时候我们需要异常点检测算法呢?常见的有三种情况。一是在做特征工程的时候需要对异常的数据做过滤,防止对归一化等处理的结果产生影响。二是对没有标记输出的特征数据做筛选,找出异常的数据。三是对有标记输出的特征数据做二分类时,由于某些类别的训练样本非常少,类别严重不平衡,此时也可以考虑用非监督的异常点检测算法来做。

异常点检测算法常见类别

异常点检测的目的是找出数据集中和大多数数据不同的数据,常用的异常点检测算法一般分为三类。

    第一类是基于统计学的方法来处理异常数据,这种方法一般会构建一个概率分布模型,并计算对象符合该模型的概率,把具有低概率的对象视为异常点。比如特征工程中的RobustScaler方法,在做数据特征值缩放的时候,它会利用数据特征的分位数分布,将数据根据分位数划分为多段,只取中间段来做缩放,比如只取25%分位数到75%分位数的数据做缩放。这样减小了异常数据的影响。

    第二类是基于聚类的方法来做异常点检测。这个很好理解,由于大部分聚类算法是基于数据特征的分布来做的,通常如果我们聚类后发现某些聚类簇的数据样本量比其他簇少很多,而且这个簇里数据的特征均值分布之类的值和其他簇也差异很大,这些簇里的样本点大部分时候都是异常点。比如我之前讲到的BIRCH聚类算法原理DBSCAN密度聚类算法都可以在聚类的同时做异常点的检测。

    第三类是基于专门的异常点检测算法来做。这些算法不像聚类算法,检测异常点只是一个赠品,它们的目的就是专门检测异常点的,这类算法的代表是One Class SVM和Isolation Forest.


è¿éåå¾çæè¿°

参考:

1. https://www.cnblogs.com/pinard/p/9314198.html

2. https://blog.csdn.net/qq_34531825/article/details/72828182

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值