如何在python中为一类SVM计算AUC?

如何在python中为一类SVM计算AUC?,第1张

如何在python中为一类SVM计算AUC?

请参阅我对类似问题的回答。要点是:

  • OneClassSVM从根本上不支持将决策转换为概率分数,因此您无法将必要的分数传递到需要改变分数阈值函数中,例如ROC或Precision-Recall曲线和分数。

  • 您可以通过在整个输入数据上计算OneClassSVM决策函数的最大值

    MAX
    ,然后调用它,然后
    y
    通过计算对给定观察值的预测进行评分,来近似估算这种分数
    y_score = MAX - decision_function(y)

  • 使用这些分数来传递

    y_score
    诸如
    average_precision_score
    等的函数,这些函数将接受非阈值分数而不是概率。

  • 最后,请记住,ROC对OneClassSVM的物理意义不大,特别是因为OneClassSVM用于存在预期的巨大类别失衡(异常值与非异常值)并且ROC无法准确地权衡相对成功的情况在少量异常值上。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5668397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存