有可能解释sklearn隔离林预测吗?

时间:2019-09-12 09:51:07

标签: python unsupervised-learning anomaly-detection

我正在使用sklearn的隔离林算法进行一些无监督的异常检测。 我需要解释一下这些预测,我想知道是否有任何方法可以得出导致每个样本做出决定的路径。

我通常使用SHAP或ELI5,但我想做一些更定制的事情。所以我需要确切的路径。

2 个答案:

答案 0 :(得分:0)

您正在创建树的集合,因此给定实例的路径对于集合中的每棵树都会有所不同。要检测异常,隔离林会获取给定实例的所有树的平均路径长度(分离样本的拆分数),然后使用此路径确定是否为异常(平均较短路径长度表示异常)。当您查看一组树木的平均值时,没有“精确”路径。

在我所知的范围内,您最好的选择是使用SHAP之类的方法,但是您也可以只训练一些估计量,并查看这些树中给定实例所采用的路径,以深入了解决定。

答案 1 :(得分:0)

您现在可以将SkP值用于SkLearn IF:https://github.com/slundberg/shap/pull/784/files