IsolationForest 决策函数与异常预测问题

数据挖掘 机器学习 scikit-学习 随机森林 异常检测
2022-02-13 03:34:49

我目前正在从事一个无监督的异常检测项目,为此我正在通过 scikit-learn 使用 IsolationForest。我的问题是,当模型在内部值的决策函数空间内时,为什么/如何预测异常?

我在这里附上了我的结果:

图1

决策函数空间的大小可能是由于我的输入维度与这个二维投影的关系吗?

我还快速绘制了异常分数与预测的关系图(0 = 内部,1 = 异常):

异常

正如所见,存在高于阈值分数的异常值,这对我来说没有意义。有人可以解释吗?

1个回答

看起来您的 PCA 没有很好地映射数据。我建议您查看其他降维技术,例如 UMAP、TSNE,以查看是否可以实现更好的表示。如果您没有太多数据,您也可以使用 MDS,因为它会保留局部距离(但是,计算上非常昂贵):

https://scikit-learn.org/stable/modules/generated/sklearn.manifold.MDS.html

如果只有可视化是您所追求的,那么您可以简单地在 2 个主成分上运行 Isolation Forest,那么第一张图片中的边界应该更明显。当然,实际结果可能会产生误导。