隔离森林:简单示例

数据挖掘 离群值 隔离森林
2022-02-28 21:12:09

有人可以更清楚地解释隔离森林吗?在我搜索的任何地方,我都找到了相同的解释:

隔离森林通过随机选择一个特征,然后在所选特征的最大值和最小值之间随机选择一个分割值来“隔离”观察结果。

让我们举个例子来解决这个问题:

x1 = [2, 1, 4, 6, 4, 2, 1, 2, 3, 4, 19]

我怎么能说 19 是一个异常值?

1个回答

这个想法是,您可以越快地隔离样本,它是异常值/异常的机会就越高。

这是您的示例的一种可能情况:

x1 = [2, 1, 4, 6, 4, 2, 1, 2, 3, 4, 19]
  1. 在 min=1 和 max=19 之间画一个随机值;例如 10
  2. 根据所选值拆分:
x1_left = [2,1,4,6,4,2,1,2,3,4]
x1_right = [19]
  1. 在子集上重复

我们已经在一步之后隔离了 19 个,而“左侧”的其他样本尚未隔离,并且到目前为止没有太大变化。采样大于 6 的任何阈值都会在单个拆分中隔离 19 个,其概率接近 70%。

为了更明显,说x1=[1,2,3,4,5,10000000000]对 1 到 10000000000 之间的值进行采样几乎肯定会给出 > 5 的结果,因此会立即隔离 10000000000。