我有以下ROC曲线:
由于我的预测中包含零值,例如
prediction = [0.9, 0.1, 0.8, 0.0]
因此我的ROC曲线并未达到1.0。对于ROC曲线,我采用前k个预测值,首先是{0.9},然后是{0.9, 0.8}等。如果预测中不再有大于0的值,随着k的增加,预测值将不再变化。
因此,我无法得到真正的负值为零的情况,由于假阳性率是fp/(fp+tn),曲线在达到1之前就结束了。
现在,我是否应该人为地将零值也用于预测,还是说曲线这样结束是可以的?使用零值感觉不对劲。还是我遗漏了什么?
回答:
ROC曲线展示了在不同阈值设定下,假阳性和假阴性之间的可能权衡。在一个极端,你可以将阈值设得非常低,以至于将所有事物标记为阳性,这样假阴性率为0,假阳性率为1。在另一个极端,你可以将阈值设得非常高,以至于将所有事物标记为阴性,这样假阴性率为1,假阳性率为0。
虽然这些极端情况在实际中没有用处,但它们在理论上仍然是有效的权衡,并且是ROC曲线的正常组成部分。