我目前正在研究异常检测算法。我阅读了基于AUC值比较无监督异常算法的论文。例如,我有来自Elliptic Envelope和Isolation Forest的异常分数和异常类。如何根据AUC值比较这两种算法。
我正在寻找一个python代码示例。
由于
答案 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页面上提供反馈!)