用于无监督异常检测的Python AUC计算(隔离林,椭圆包络......)

时间:2017-12-11 14:42:55

标签: python-3.x unsupervised-learning auc anomaly-detection

我目前正在研究异常检测算法。我阅读了基于AUC值比较无监督异常算法的论文。例如,我有来自Elliptic Envelope和Isolation Forest的异常分数和异常类。如何根据AUC值比较这两种算法。

我正在寻找一个python代码示例。

由于

2 个答案:

答案 0 :(得分:1)

问题解决了。我到目前为止所做的步骤;

1)异常功能后收集课程和得分 2)将异常得分转换为0-100等级,以便与不同的算法进行更好的比较 3)Auc要求这个变量是数组。我的错误是像数据框一样使用它们,它一直返回“nan”。

Python脚本:

#outlier_class and outlier_score must be array
fpr,tpr,thresholds_sorted=metrics.roc_curve(outlier_class,outlier_score)
aucvalue_sorted=metrics.auc(fpr,tpr)
aucvalue_sorted

此致

SeçkinDinç

答案 1 :(得分:0)

尽管您已经解决了问题,但我还是给了2美分:)

一旦确定了用来比较它们的算法方法(可以说是“评估协议”),那么您可能会对在实际数据集上运行挑战者的方法感兴趣。

tutorial基于一个示例(在多个数据集上比较多项式拟合算法)说明了操作方法。

(我是作者,随时在github页面上提供反馈!)