- 用于异常值检测
孤立森林通过随机生成多棵二叉树(iTree)来孤立数据点。对于每个点,计算它在所有树中的路径长度平均值,并通过归一化得到异常分数(接近1表示异常)。
你的理解基本正确,但可以稍微再精炼一下细节。我帮你梳理一下 孤立森林(Isolation Forest, iForest) 的核心思想和步骤:
核心思想
- 异常点(离群点)更容易被孤立:因为它们往往稀疏、分布在边缘区域,用随机切分几次就能被隔离开。
算法步骤
-
生成孤立树(Isolation Tree, iTree)
-
随机选择一个特征;
-
在该特征的取值范围内随机选择一个切分点;
-
递归分割,直到:
- 每个点被单独隔离,或者
- 树达到预设的最大高度。
-
这样生成一棵二叉树。
-
-
构建森林(Isolation Forest)
- 重复上述过程,生成多棵孤立树。
-
计算样本的平均路径长度
- 对于一个点 ,看它在森林中每棵树的路径长度(即从根节点到达叶子节点的深度)。
- 取平均值,得到该点的平均路径长度。
-
异常分数 (Anomaly Score)
- 路径越短,说明点越容易被孤立 → 异常可能性越大;
- 路径越长,说明点位于密集区域 → 更可能是正常点。
适用类型: