如何做logistic模型的roc曲线了

如题所述

  正因为我们比较关注正例的情形,所以设置了两个相应的指标:TPR与FPR。

  TPR:True Positive Rate,将实际的1正确地预测为1的概率,d/(c+d)。

  FPR:False Positive Rate,将实际的0错误地预测为1的概率,b/(a+b)。

  TPR也称为Sensitivity(即生物统计学中的敏感度),在这里也可以称为“正例的覆盖率”——将实际为1的样本数找出来的概率。覆盖率是重要的指标,例如若分类的目标是找出潜在的劣质客户(响应变量取值为1),则覆盖率越大表示越多的劣质客户被找出。

  类似地,1-FPR其实就是“负例的覆盖率”,也就是把负例正确地识别为负例的概率。

  TPR与FPR相互影响,而我们希望能够使TPR尽量地大,而FPR尽量地小。影响TPR与FPR的重要因素就是上文提到的“阈值”。当阈值为0时,所有的样本都被预测为正例,因此TPR=1,而FPR=1。此时的FPR过大,无法实现分类的效果。随着阈值逐渐增大,被预测为正例的样本数逐渐减少,TPR和FPR各自减小,当阈值增大至1时,没有样本被预测为正例,此时TPR=0,FPR=0。

  由上述变化过程可以看出,TPR与FPR存在同方向变化的关系(这种关系一般是非线性的),即,为了提升TPR(通过降低阈值),意味着FPR也将得到提升,两者之间存在类似相互制约的关系。我们希望能够在牺牲较少FPR的基础上尽可能地提高TPR,由此画出了ROC曲线。

  ROC曲线的全称为“接受者操作特性曲线”(receiver operating characteristic)
  当预测效果较好时,ROC曲线凸向左上角的顶点。平移图中对角线,与ROC曲线相切,可以得到TPR较大而FPR较小的点。模型效果越好,则ROC曲线越远离对角线,极端的情形是ROC曲线经过(0,1)点,即将正例全部预测为正例而将负例全部预测为负例。ROC曲线下的面积可以定量地评价模型的效果,记作AUC,AUC越大则模型效果越好。

  由于ROC曲线描述了在TPR与FPR之间的取舍,因此我一般将其理解为投入产出曲线,receive of cost。(事实上我理解错了。相对而言lorenz曲线更适合这个名字。当然啦其实FPR可以理解为另一种cost。2010.10.15)

  当我们分类的目标是将正例识别出来时(例如识别有违约倾向的信用卡客户),我们关注TPR,此时ROC曲线是评价模型效果的准绳。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-03
请问是用logistic算出来的概率,来画出的roc曲线吗?然后用约登指数作临界值来计算灵敏度和特异度吗
相似回答