isolation forest 孤立森林
一种适用于 连续数据 的 无监督 异常检测方法。
提到森林,自然少不了树,毕竟森林是由树构建的,isolation Tree(简称ITree),
iTree是一种随机二叉树,每一个结点要么有两个子节点,要么就是叶子结点,
给定一堆数据集D,这里D的所有属性都是连续型的变量,
ITree的构成过程:
1随机选择一个属性Attr
2随机选择该属性的一个值Value
3根据Attr对每一条记录进行分类,把Attr小于Value的记录放在左子节点,大于的放在右子节点
4然后递归的构造左子节点和右子节点。
(直到树的高度达到了限定的高度,或者数据集只有一条或多条一样的记录)
举个例子:
假设现在有一组一维数据(如下图所示),我们要对这一组数据进行随机分割,希望把A,B点单独切分出来,具体我们先在最大值和最小值直接随机选择一个值x,然后 按照<x和>=x把数据分为左右两组,然后,在两组分别重复这个步骤,知道数据不可分,显然,B点跟其他数据比较疏远,可能用很少的次数就把它切分开,