一、算法思想
孤立森林是属于无监督学习范畴中检测异常值的一种模型,他不同于其他通过计算距离和密度来识别样本点是否是孤立点,而是通过样本的疏密程度来判断样本的是否孤立。仅适用于连续数据。
孤立森林采用多重二分法将样本点进行分区,该算法将样本中所有样本进行切分,直到每个样本点或极少样本点被划分在同一区域呢,这样样本越密集的区域,区域中的点被孤立时所需要的切分次数就越多,同理样本是孤立点,则该点被孤立时切分的次数就越低。
二、模型推理
在已经理解孤立森林算法思想后,如何通过数学公式实现孤立森林模型是我们需要解决的问题,接下来从模型步骤和计算公式、算法伪代码、模型python代码三个方面进一步深入了解掌握模型。
2.1 模型步骤及公式
孤立森林是和随机森林的概念类似,孤立森林是由多颗孤立树构成,先使用测试集训练每颗孤立树,然后再计算验证集每个样本的异常分数值(0,1]判断该样本是否异常,分值越接近1样本越孤立,即样本异常可能性越大。
在创建孤立森林之前,先创建一颗孤立树,孤立树的创建步骤如下:
1.从总体中,随机选择样本容量为n的样本,作为训练孤立树的