这次的结果是一个浮点值,结果就不一样了。由于预测结果是一个浮点值,我们设置不同的阈值就会得到不同的混淆矩阵。
比如,如果我们设置阈值为0.5,得到的混淆矩阵如下:
这样算出来的TPR和FPR分别是0.8,0.4。如果我们进一步放宽阈值,可以提升召回,也就是提升TPR,但与此同时FPR也会提升。比如如果我们把阈值放宽到0.2,我们可以识别出所有的正例,但是同样的,FPR也会上升:
根据上面这个混淆矩阵计算得出的结果TPR是1.0,FPR是0.6。也就是说我们选择不同的阈值会得到不同的TPR,和FPR。如果样本较少的话,画出来的ROC可能是锯齿形:
当样本的数量足够多之后,锯齿会变得越来越光滑,我们可以再用上一些平滑的方法,可以得到一个相对光滑的曲线,就变成了上面那张图: