孤立森林算法原理及实战代码解析是怎样的?

2026-05-26 16:090阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计4706个文字,预计阅读时间需要19分钟。

孤立森林算法原理及实战代码解析是怎样的?

孤立森林(Isolation Forest)算法,由刘飞、周志华等在2008年提出,该算法不依赖类标签,通过类似距离和密度等指标直接刻画样本间的差异,而非传统的基于距离的算法。它通过孤立样本的方式直接刻画所谓的离群度过程。


孤立森林(isolation Forest)算法,2008年由刘飞、周志华等提出,算法不借助类似距离、密度等指标去描述样本与其他样本的差异,而是直接去刻画所谓的​疏离程度(isolation)​,因此该算法简单、高效,在工业界应用较多。

Isolation Forest算法的逻辑很直观,算法采用二叉树对数据进行分裂,样本选取、特征选取、分裂点选取都采用随机化的方式。如果某个样本是异常值,可能需要很少次数就可以切分出来

我们开始正文吧。

一、理解孤立森林

再用一个例子来说明孤立森林的思想:假设现在有一组一维数据(如下图),我们要对这组数据进行切分,​目的是把点A和 B单独切分出来​,先在最大,值和最小值之间随机选择一个值 X,然后按照 <X 和 >=X 可以把数据分成左右两组,在这两组数据中分别重复这个步骤,直到数据不可再分。

点B跟其他数据比较疏离,可能用​很少的次数​就可以把它切分出来,点 A 跟其他数据点聚在一起,可能需要更多的次数才能把它切分出来。

那么​从统计意义​上来说,相对聚集的点需要分割的次数较多,比较孤立的点需要的分割次数少,孤立森林就是利用分割的次数来度量一个点是聚集的(正常)还是孤立的(异常)。

直观上来看,我们可以发现,那些密度很高的簇要被切很多次才会停止切割,即每个点都单独存在于一个子空间内,但那些分布稀疏的点,大都很早就停到一个子空间内了。

阅读全文

本文共计4706个文字,预计阅读时间需要19分钟。

孤立森林算法原理及实战代码解析是怎样的?

孤立森林(Isolation Forest)算法,由刘飞、周志华等在2008年提出,该算法不依赖类标签,通过类似距离和密度等指标直接刻画样本间的差异,而非传统的基于距离的算法。它通过孤立样本的方式直接刻画所谓的离群度过程。


孤立森林(isolation Forest)算法,2008年由刘飞、周志华等提出,算法不借助类似距离、密度等指标去描述样本与其他样本的差异,而是直接去刻画所谓的​疏离程度(isolation)​,因此该算法简单、高效,在工业界应用较多。

Isolation Forest算法的逻辑很直观,算法采用二叉树对数据进行分裂,样本选取、特征选取、分裂点选取都采用随机化的方式。如果某个样本是异常值,可能需要很少次数就可以切分出来

我们开始正文吧。

一、理解孤立森林

再用一个例子来说明孤立森林的思想:假设现在有一组一维数据(如下图),我们要对这组数据进行切分,​目的是把点A和 B单独切分出来​,先在最大,值和最小值之间随机选择一个值 X,然后按照 <X 和 >=X 可以把数据分成左右两组,在这两组数据中分别重复这个步骤,直到数据不可再分。

点B跟其他数据比较疏离,可能用​很少的次数​就可以把它切分出来,点 A 跟其他数据点聚在一起,可能需要更多的次数才能把它切分出来。

那么​从统计意义​上来说,相对聚集的点需要分割的次数较多,比较孤立的点需要的分割次数少,孤立森林就是利用分割的次数来度量一个点是聚集的(正常)还是孤立的(异常)。

直观上来看,我们可以发现,那些密度很高的簇要被切很多次才会停止切割,即每个点都单独存在于一个子空间内,但那些分布稀疏的点,大都很早就停到一个子空间内了。

阅读全文