举例说明 P-R图的计算 ROC曲线的计算 代价曲线的计算与绘制
以上三者都要求逐个把样本作为正例进行预测,模拟的是threshold设为不同值时同一个模型的预测效果
原理内容请参考《机器学习》周志华 2.3节。也可查看以下网址
模型评估与选择(后篇)-代价曲线
只需要在下面的模块中更改model_sequence里面的分类序列的顺序。以下为针对某一二分类问题的三个模型的P-R图、ROC曲线、代价曲线。
P-R图,如果模型A的P-R 图将模型B的P-R图完全包住,则A效果比B好。同时还要看BEP和F1值也可以用来比较模型效果。
ROC曲线,曲线下方面积为AUC,AUC越大,模型效果越好。曲线上方部分面积为loss,loss越小模型越好。模型A的ROC曲线如果完全把模型B的ROC曲线包在下方则模型A的效果比B好。如果两者并不是完全包含与被包含的关系,而是有重叠区域也有未重叠区域,则用AUC值比较。
代价曲线是在出现非平衡代价的情况下才使用的。所有曲线最下方的面积越小,则代表模型越好。
如下9幅图为3个模型对同一个样本的分类结果。第一行为model_1的P-R图、ROC曲线、代价曲线。第二行为model_2,第三行为model_3。三个model对比下来model_2效果最好。绘制过程见下文代码。