【发布时间】:2018-09-15 14:47:25
【问题描述】:
我在 R/Python 中有一个数据框对象,如下所示:
df columns:
fraud = [1,1,0,0,0,0,0,0,0,1]
score = [0.84, 1, 1.1, 0.4, 0.6, 0.13, 0.32, 1.4, 0.9, 0.45]
当我在 Python 中使用roc_curve 时,我得到fpr、fnr 和thresholds。
我有 2 个问题,可能有点理论,但请给我解释一下:
这些阈值是真的计算出来的吗?我手动计算了
fpr和fnr,但是这些阈值=上面的分数吗?如何在
R中生成相同的fpr、fnr和thresholds?
【问题讨论】:
-
你是如何手动计算fpr和fnr的?你使用了什么阈值?
-
@pault 我使用了欺诈列表中的第二个点 - 第一个 0 是我的阈值 - 在此阈值以下 = false 并且大于 = true。
-
@pault 如果我错了请纠正我,我将使用 len(fraud) 数量的阈值并绘制 roc?
-
我假设
fraud是真正的标签,score是某个分类模型的输出。我不知道这是否是roc_curve的实现方式(如果您愿意,可以查看源代码),但可以通过改变您拥有的值的阈值来计算 TPR 和 FPR。然后使用这对 (TPR, FPR) 来绘制 ROC 曲线。 -
我每个阈值都有一对 TPR 和 FPR,请纠正我。你知道第二个问题的答案吗?请张贴作为答案。 @pault
标签: python r roc auc false-positive