zl程序教程

您现在的位置是:首页 >  其他

当前栏目

异常检测算法(一):孤立森林(Isolation Forest)【无监督算法的异常检测,可以快速检测数据集中的异常值】【一般用于连续型结构化数据的异常检测】【西瓜书作者周志华老师的团队研究开发的算法】

团队算法异常数据开发 快速 可以 检测
2023-09-27 14:20:37 时间

孤立森林是一种简单但非常有效的算法,能够非常快速地发现数据集中的异常值。理解这个算法对于处理表格数据的数据科学家来说是必须的,所以在本文中将简要介绍算法背后的理论及其实现。

由于其算法非常的简单并且高效,所以 Scitkit Learn 已经将其进行了高效的实现,我们可以直接调用使用。但在直接进入示例之前,还是需要介绍其背后的理论,这样才可以深入的了解该算法的。

一、概述

1、什么是异常

异常(异常值)可以描述为数据集中与其他数据或观察结果显著不同的数据点。发生这种情况的原因有几个:

  • 异常值可能表示错误数据不正确或实验可能未正确运行。
  • 异常值可能是由于随机变化或可能表明某些科学上有趣的东西。

针对于不同类型的异常,要用不同的算法来进行检测,而孤立森林算法主要针对的是连续型结构化数据中的异常点

使用孤立森林的前提是,将异常点定义为那些 “容易被孤立的离群点” —— 可以理解为分布稀疏,且距离高密度群体较远的点。

从统计学来看,在数据空间里,若一个区域内只有分布稀疏的点,表示数据点落在此区域的概率很低,因此可以认为这些区域的点是异常的。

也就是说,孤立森林算法的理论基础有两点:

  • 异常数据占总样本量的比例很小;
  • 异常点的特征值与正常点的差异很大;