《AI安全之对抗样本入门》—1.4.5 ROC与AUC
1.4.5 ROC与AUC
ROC(Receiver Operating Characteristic,受试者工作特征)曲线是以真阳性率为纵坐标、假阳性率为横坐标绘制的曲线。它是反映灵敏性和特效性连续变量的综合指标。一般认为ROC越光滑说明分类算法过拟合的概率越低,越接近左上角说明分类性能越好。AUC(Area Under the Receiver Operating Characteristic)曲线就是量化衡量ROC分类性能的指标,如图1-33所示,物理含义是ROC曲线的面积,AUC越大越好。
图1-33 ROC曲线示例
绘制ROC曲线的方法如下:
f_pos, t_pos, thresh = metrics.roc_curve(test_Y, pred_Y)
auc_area = metrics.auc(f_pos, t_pos)
plt.plot(f_pos, t_pos, 'darkorange', lw=2, label='AUC = %.2f' % auc_area)
plt.legend(loc='lower right')
plt.plot([0, 1], [0, 1], color='navy', linestyle='--')
plt.title('ROC')
plt.ylabel('True Pos Rate')
plt.xlabel('False Pos Rate')
plt.show()
在Scikit-Learn中,可以使用如下代码获得AUC值:
print "AUC:"
print metrics.roc_auc_score(test_Y, pred_Y)
计算获得的AUC值为0.70:
AUC:
0.696992481203
- 点赞
- 收藏
- 关注作者
评论(0)