预测结果的衡量指标
准确率
准确率是指分类正确的样本占总样本个数的比例;
局限性:
会受到类别不平衡的影响,从而导致模型性能看起来好,但是实际效果会很差;举例:100样本中,有99个正例,1个负例,如果模型判定为全部的都为正例,则准确率为 99%,从而忽视了负例;随着样本量的增加,模型的预测效果也就越大。
精确率和召回率
精确率
精确率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。
用来判定,分类器到底预测正确的正样本量占总的预测正样本量的比例。
精确率 = 分类正确的正样本数 / 分类器预测的正样本数
召回率
召回率是指分类正确的正样本个数占真正的正样本个数的比例
召回率 = 分类正确的正样本数 / 真正的正样本的量
对比:
两者来看,分子是相同的,即都是(模型预测正确的,正样本的量)
分母是不同:
-
精确度的分母指的是,模型预测出的正样本量(包括判断正确的,判断错误的),才叫做精确率,意思是,模型预测的效果有多精确 。
-
召回率的分母是,全部的正样本量(是真实的正样本数量)
P-R 曲线
P-R曲线的横轴是召回率, 纵轴是精确率。
P-R曲线上的一个点代表着, 在某一阈值下, 模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本, 此时返回结果对应的召回率和精确率。
举例:
从图中,我们可以看到,模型的精确率和召回率是相互限制的关系,单纯的使用某个值来衡量模型预测结果的好坏是不全面的。某个点对应的精确率和召回率是不能全面地衡量模型的性能, 只有通过P-R曲线的整体表现, 才能够对模型进行更为全面的评估。
F1-score
公式如下:
ROC 曲线
真假是针对真实值 y-true 和预测值 y-pred 之间的区分
正负是针对 真实值y-true中的正样本positive 和负样本negtive 之间的区分
反复读读 :
我们可以看出,当正负样本的分布发生变化时, ROC曲线的形状能够基本保持不变。
AUC
auc 是 roc 曲线下的面积
ROC和P-R曲线的不同
将测试集中的负样本数量增加10倍后的曲线图。可以看出:ROC曲线有一个特点, 当正负样本的分布发生变化时, ROC曲线的形状
能够基本保持不变, 而P-R曲线的形状一般会发生较剧烈的变化。
两者的选择
- 如果研究者希望更多地看到模型在特定数据集上的表现, P-R曲线则能够更直观地反映其性能。
- ROC曲线能够尽量降低不同测试集带来的干扰, 更加客观地衡量模型本身的性能。