异常检测算法之LOF

  • 首先了解什么是LOF算法
    • 算法特点
    • 实现方法
    • 实践检验

首先了解什么是LOF算法

LOF算法又叫局部异常因子算法,它是一种基于距离的异常检测算法,我认为该算法比较详细的博客如下:LOF.
lof 的主要思想如下:通过比较每个点p和其邻域的密度来判断该点是否为异常点,如果点p的密度越低,越有可能被认为是异常点。至于密度,是通过点和点之间的距离来进行计算的,点和点之间的距离越小,则密度越高;反之则就越低。

算法特点

LOF算法主要特点包括如下:
LOF是一种非监督式的算法
LOF是一种基于密度的算法
LOF算法适合对于不同密度的数据进行异常检测

最近在研究关于APT攻击的恶意流量数据的检测,我认为该方法可以应用到检测恶意流量的范畴。当然异常检测也可以属于二分类的范畴,正常和不正常。但是APT攻击的恶意流量数据较少,存在样本不均衡的问题,初步设想,先采用异常值检测的算法较为科学。

采用的数据集为IDS入侵2017的公开数据集,网址为https://www.unb.ca/cic/datasets/ids-2018.html
这个数据集周一采集的数据为正常数据,周二到周末为参杂了恶意流量的数据。

实现方法

基于python的sklearn的第三方库,进行实现,参数说明参考官网:https://scikit-learn.org/stable/modules/outlier_detection.html#outlier-detection

其中参数:novelty :默认为 flase , 是否可以用来做新奇检测

实践检验

将数据集中的周一正常数据给lof算法进行训练,然后用周二带有恶意流量的数据进行新奇点检测:


这种基于lof算法的新奇点检测明显的感觉就是训练时间较长,尤其是数据的维度较高时,会有很长时间的训练时间。sklearn好像还不支持GPU加速

异常检测算法之LOF算法相关推荐

  1. AIOps指标异常检测之无监督算法

    随着系统规模的变大.复杂度的提高.监控覆盖的完善,监控数据量越来越大,运维人员无法从海量监控数据中发现质量问题.智能化的异常检测就是要通过AI算法,自动.实时.准确地从监控数据中发现异常,为后续的诊断 ...

  2. 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习

    异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习 参考文章: (1)异常检测-基于孤立森林算法Isolation-based Anomaly ...

  3. UEBA 学术界研究现状——用户行为异常检测思路:序列挖掘prefixspan,HMM,LSTM/CNN,SVM异常检测,聚类CURE算法...

    论文 技术分析 <关于网络分层信息泄漏点快速检测仿真> "1.基于动态阈值的泄露点快速检测方法,采样Mallat算法对网络分层信息的离散采样数据进行离散 小波变换;利用滑动窗口对 ...

  4. 异常检测之普通高斯算法和多元高斯算法学习总结

    普通高斯算法: 特点:如果不主动去建立特征与特征之间的关系特征,则普通的高斯算法没有特征的关联性 实现方式简述: 1.取1000组非异常的对象,并归纳其n中特种 2.分别计算每种特种高斯公式函数里的 ...

  5. 异常检测之孤立森林算法详细解释且配上代码运行实例

    由于异常值往往有的两个特点:异常数据只占很少量.异常数据特征值和正常数据差别很大.孤立森林,不是描述正常的样本点,而是要孤立异常点,由周志华教授等人于2008年在第八届IEEE数据挖掘国际会议上提出. ...

  6. 【机器学习】一文读懂异常检测 LOF 算法(Python代码)

    本篇介绍一个经典的异常检测算法:局部离群因子(Local Outlier Factor),简称LOF算法. 背景 Local Outlier Factor(LOF)是基于密度的经典算法(Breunin ...

  7. 数学建模:异常检测算法

    一.简介 – 关于异常检测 异常检测(outlier detection)在以下场景: 数据预处理 病毒木马检测 工业制造产品检测 网络流量检测 等等,有着重要的作用.由于在以上场景中,异常的数据量都 ...

  8. Metis异常检测算法源码概要

    Metis异常检测算法源码概要 算法源码目录 算法层目录 基于指数移动平均算法(EWMA) 孤立森林 xgboost gbdt 3-Sigma 多项式回归 特征层目录 拟合特征 分类特征 统计特征 其 ...

  9. OpenI启智社区开源算法框架推荐——新一代工业视觉无监督异常检测框架“READ”

    工业缺陷检测是工业届非常重要且不可或缺的一项任务,由于工业场景异常缺陷多种多样,传统的机器视觉算法很难实现对缺陷特征完整的建模和迁移,算法复用相对困难,同时要求区分工况,从而造成大量的人力成本的浪费. ...

最新文章

  1. 未来的设计:我们正在进入“计算设计”时代
  2. U盘安装 CentOS 7
  3. 【JavaSE03】Java中分支语句-概念
  4. Pytorch中图像预处理相关函数
  5. C语言Cruskal算法查找最小生成树(附完整源码)
  6. 浅析微信支付:申请退款、退款回调接口、查询退款
  7. 韩国首尔公交车站将被指定为禁烟场所
  8. 导入数据中文乱码_基于Navicat和Kettle的数据迁移完全解读(多图)
  9. Using Java SecurityManager to grant/deny access to system functions
  10. 阿里Java技术架构师教你如何写好你的技术简历,附简历模板、学习资料
  11. matlab专业代做hslogic,matlab代做hslogic
  12. linux系统怎么制作win10,win10 + linux 制作双系统教程(我本身是win10系统)
  13. Windows Microsoft Store安装Ubuntu
  14. matlab程序运行完后响铃,matlab基本
  15. 悦诗风吟网络营销的目标_“悦诗风吟”品牌的促销策略研究
  16. 计算机启动F1正在准备自动修复,电脑正在准备自动修复(电脑一直循环自动修复)...
  17. centos7内核默认包含在操作系统镜像中_定制centos7.7安装镜像默认内核5.5去除默认3.10内核
  18. 30-基于单片机的跑马灯设计
  19. android手机一些问题
  20. kmeans聚类分析——Python实现

热门文章

  1. python网络爬虫经典项目
  2. Linux的用户及权限管理
  3. 2017四川省赛总结
  4. 百度打击低质违规站点,你中招了吗?
  5. 面试题1:一个人岁数的3次方是四位数,四次方是六位数,并知道此人岁数的3次方和4次方用遍了0--9十个数字,请编程写程序求此人的岁数
  6. Mybatis-Plus-Generator代码生成工具
  7. 30岁了,还可以转行大数据开发吗?
  8. python静态变量命名_为什么Python没有静态变量?
  9. Vuforia(高通)识别3D物体
  10. 一个由copyBean引发的血案