异常检测算法介绍-LOF(Local Outlier Factor)局部异常因子算法、CBLOF及KNN算法

局部因子算法的思想是通过计算一个样本的局部密度来判断该样本是否是一个异常点,如果该样本的密度比它的邻域内点的密度低,那么就认为它是一个异常点。

1、K距离和K距离近邻:该点到距离它第K近的点的距离(不包括该点本身),称为该点的K距离,K距离内的所有点称为该点的K距离近邻,其中K是一个参数,人为给定的。

2、可达距离:给定一个K之后,如果一个点是它的K距离近邻,那么它们之间的距离就是K距离,如果不是它的K近邻点,那么它们之间的距离就是他们之间的欧几里得距离。换言之,可达距离是K距离与实际距离之间的最大值,当实际距离小于K距离,那么就取K距离,如果实际距离大于K距离,那么就取实际距离。

3、局部可达密度:给定一个点,该点的局部可达密度定义为该点的K距离近邻内所有点到该点的可达距离的平均值,即用该点的K距离近邻点来计算该点的局部可达密度。

4、局部异常因子:给定一个点,该点的局部异常因子定义为该点的K距离近邻内所有点的局部可达密度的平均值与该点的局部可达密度的比值。

CBLOF算法在进行LOF算法之前先用K-means将数据进行一个预分类,对于每个蔟中的数据,再使用LOF算法。

KNN算法的话使用给定一个点的K距离来当做对该点的密度估计,从而检测异常。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
localoutlierfactor局部离群因子)是一种常用的异常数据检测方法。其基本思想是判断一个数据点是否为异常点,需要考虑其周围邻居点的密度和分布情况。 对于给定的数据集,localoutlierfactor方法首先计算出每个数据点的局部密度,即该点周围邻居点的密度,通过设定邻居点的个数K来确定。如果一个数据点的K个邻居点很近,说明它处在一个高密度的区域,那么该点的局部密度就会较高;相反,如果这些邻居点离得较远,说明它处在一个低密度的区域,那么该点的局部密度就会较低。 接着,对于每个数据点,计算出其与邻居点相对密度的比例,即局部离群因子LOF)。如果一个数据点的LOF值大于1,说明该点周围的邻居点的密度比它自身密度更低,即该点是异常点;相反,如果LOF值小于1,则说明该点周围的邻居点的密度比它自身密度更高,即该点是正常点。 通过计算数据集中每个点的LOF值,localoutlierfactor方法能够有效地识别出异常数据点。与传统的基于距离或数值的异常检测方法相比,localoutlierfactor可以更好地适应不同数据分布的情况,并且在处理高维数据和大规模数据时也具有较好的效果。 总之,localoutlierfactor是一种基于密度的异常数据检测方法,通过考虑数据点的局部密度和分布情况,判断数据点是否为异常点,具有较好的鲁棒性和适应性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值