本文主要是介绍Accuracy准确率,Precision精确率,Recall召回率,F1 score,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
真正例和真反例是被正确预测的数据,假正例和假反例是被错误预测的数据。然后我们需要理解这四个值的具体含义:
TP(True Positive):被正确预测的正例。即该数据的真实值为正例,预测值也为正例的情况;
TN(True Negative):被正确预测的反例。即该数据的真实值为反例,预测值也为反例的情况;
FP(False Positive):被错误预测的正例。即该数据的真实值为反例,但被错误预测成了正例的情况;
FN(False Negative):被错误预测的反例。即该数据的真实值为正例,但被错误预测成了反例的情况。
- 准确率(Accuracy)表示分类正确的样本占总样本个数的比例。
Acc = (TP+TN)/(TP+TN+FP+FN)
Accuracy是衡量分类模型的最直白的指标,但缺陷也是明显的。假设有100个样本,其中有99个都是正样本,则分类器只需要一直预测为正例,就可以得到99%的准确率,实际上这个分类器性能是很低下的。也就是说,当不同类别的样本所占的比例严重不平衡时,占比大的类别会是影响准确率的最主要的因素。所以,只有当数据集各个类别的样本比例比较均衡时,Accuracy这个指标才是一个比较好的衡量标准。因此,必须参考其他指标才能完整评估模型的性能。 - Precision精确率又叫查准率,表示预测结果为正例的样本中实际为正样本的比例
Pre = TP/(TP+FP)
当反例被错误预测成正例(FP)的代价很高时,适合用精确率。根据公式可知,精确率越高,FP越小。比如在垃圾在垃圾邮件检测中,假正例意味着非垃圾邮件(实际为负)被错误的预测为垃圾邮件(预测为正)。如果一个垃圾邮件监测系统的查准率不高导致很多非垃圾邮件被归到垃圾邮箱里去,那么邮箱用户可能会丢失或者漏看一些很重要的邮件。 - Recall召回率又被称为查全率,表示预测结果为正样本中实际正样本数量占全样本中正样本的比例。
Rec = TP/(TP+FN)
当正例被错误的预测为反例(FN)产生的代价很高时,适合用召回率。根据公式可知,召回率越高,FN越小。比如说在银行的欺诈检测或医院的病患者检测中,如果将欺诈性交易(实际为正)预测为非欺诈性交易(预测为负),则可能会给银行带来非常严重的损失。再比如以最近的新冠疫情为例,如果一个患病者(实际为正)经过试剂检测被预测为没有患病(预测为负),这样的假反例或者说假阴性产生的风险就非常大 - F1 score是精确率和召回率的一个加权平均。
F1 = 2 * (P*R/(P+R))
Precision体现了模型对负样本的区分能力,Precision越高,模型对负样本的区分能力越强;Recall体现了模型对正样本的识别能力,Recall越高,模型对正样本的识别能力越强。F1 score是两者的综合,F1 score越高,说明模型越稳健。
这篇关于Accuracy准确率,Precision精确率,Recall召回率,F1 score的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!