局部离群点检测——LOF算法的Python实现
2018-03-01 19:51
537 查看
局部离群点LOF算法(Local Outlier Factor)是一种常用的离群点检测算法,在数据处理、危险侦测等方面都有广泛的使用,这篇博文将介绍如何使用Python语言,简单地使用LOF算法对离群点进行检测。
数据集中至少有k个对象o’,使
数据集中至多有k-1个对象o’,使
时,则对象a的第k距离
数据集合A中,
就是a的第k距离邻域。
通俗地理解,如果这个点o在a的第k距离邻域内,那么a到o的可达距离就是a的第k距离:
点a的第k距离邻域上的所有点 到a的可达距离
局部可达密度直观地反映了点a与整个数据集中其他点的距离关系,可达密度越小,越有可能是离群点。
后续,我将介绍这些优秀的改进算法并通过Python语言实现,持续更新,希望大家支持,谢谢!
LOF检测算法简介
LOF全称Local Outlier Factor,是一种基于点之间距离、密度的一种算法,为了解决简单测距检测方法,通用性不高、不够准确的问题,本算法引用了k阶邻域等一系列概念,保障了算法可以在多个聚合性不同的点集的域中运用,并且有很高的准确性。LOF算法详述
LOF算法中的几个重要定义:第k距离、第k距离邻域、可达距离、局部可达密度,下面以此进行介绍:1、对象a的第k距离
存在正整数k,对象a的第k距离表示为k-distance(a),在数据集合A中存在一个对象o,当满足:
数据集中至少有k个对象o’,使
dist(a, o') <= dist(a, o)
数据集中至多有k-1个对象o’,使
dist(a, o') < dist(a, o)
时,则对象a的第k距离
k-distance(a) = dist(a, o)
2、第k距离邻域
理解了第k距离的定义,第k距离邻域的定语就顺理成章了:数据集合A中,
dist(a, o') <= k-distance(a, o)的所有点o’的集合
就是a的第k距离邻域。
3、可达距离
数据对象a对数据集中的任意一点o的可达距离:reach-dist(a, o) = max{k_distance(a, o), dist(a, o)}
通俗地理解,如果这个点o在a的第k距离邻域内,那么a到o的可达距离就是a的第k距离:
reach-dist(a, o) = k-distance(p),反之,若o不在第k距离邻域里,那么a到o的可达距离就等于a到o的距离:
reach-dist(a, o) = dist(a, o)
4、局部可达密度
点a的局部可达密度,可以这样理解:点a的第k距离邻域上的所有点 到a的可达距离
reach-dist(a, o')的平均数的导数
局部可达密度直观地反映了点a与整个数据集中其他点的距离关系,可达密度越小,越有可能是离群点。
补充
计算到局部可达密度,就可以很好地解决离群点检测的问题了,最简单粗暴的方法就是:设置一个阈值Y,低于Y的就是所需要的离群点。当然这种方法最简单也最不精准,可以通过概率分布等计算等方面来更好地解决这个问题,当然,自2000年,LOF算法诞生至今,已经出现了许多优秀的改进版算法,例如加权子空间检测算法SPOD,基于局部信息熵,对优选子空间进行选取,再计算得到其加权k邻域、可达密度,大大提升了算法的准确性。后续,我将介绍这些优秀的改进算法并通过Python语言实现,持续更新,希望大家支持,谢谢!
相关文章推荐
- 基于密度的局部离群点检测(lof算法) (Java 实现)
- 社团检测之标签传播算法Python实现
- 基于Lagrange-Newton法的SQP局部算法python实现
- 利用python的双向队列(Deque)数据结构实现回文检测的算法
- Python 基于语句检测和语句频谱分析实现文本汇总算法 (document summary algorithm)
- 基于C++和OpenCv的SIFT_图像局部特征检测算法代码的实现
- python实现信用卡欺诈检测 logistic回归逻辑回归算法
- 机器学习经典算法详解及Python实现---朴素贝叶斯分类及其在文本分类、垃圾邮件检测中的应用
- 【社团检测】社团检测之标签传播算法Python实现
- [数据挖掘]离群点检测---基于kNN的离群点检测、LOF算法和CLOF算法
- 机器学习经典算法详解及Python实现---朴素贝叶斯分类及其在文本分类、垃圾邮件检测中的应用
- Python图像特征检测算法(1):Python实现SIFT和Harris
- Canny边缘检测算法原理及其VC实现详解
- Python实现KNN算法
- K近邻分类算法实现 in Python
- 【python】双向二维PCA(2D-2D PCA)算法实现
- Python3实现银行家算法、安全性算法
- 在iOS上实现YOLO目标检测算法
- 目标检测算法(二)——具体原理以及实现
- Detectron系统实现了最先进的物体检测算法https://github.com/facebookresearch/Detectron