多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算
Posted MarToony|名角
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算相关的知识,希望对你有一定的参考价值。
1 三个评价指标的意义
精确率:在**被识别为正类别的样本(预测分类结果)中,确实为正类别的比例是多少
召回率:在所有正类别样本(真实分类结果)**中,被正确识别为正类别的比例是多少?
准确率:在所有样本中,被正确识别的样本的比例是多少?
2 二分类中三个评价指标的计算公式
- 若一个实例为正类,实际预测为正类,即为真正类(True Positv TP)
- 若一个实例为负类,实际预测为负类,即为真负类(True Negative TN)
- 若一个实例为负类,实际预测为正类,即为假正类(False Positv FP)
- 若一个实例为正类,实际预测为负类,即为假负类(True Negative, TN)
准确率(正确率)=所有预测正确的样本/总的样本 (TP+TN)/总
精确率=将正类预测为正类/所有预测为正类 TP/(TP+FP)
召回率=将正类预测为正类/所有真正的正类 TP/(TP+FN)
F值=精确率召回率2/(精确率+召回率) (F值为精确率和召回率的调和平均值)
3 多分类中三个指标的计算方式
one vs rest 的方式
具体来说,就是考虑某个类别的时候,其余的类别均被视为负类。如此,在多分类场景中,可以得到每个类别的精确率和召回率的值。
而如果要计算整个混淆矩阵的精确率和召回率,就涉及到计算策略。两种:根据每个类别的样例数目加权计算,或者是简单干脆,将每个类别的指标值取平均值。
4 多分类的例子
混淆矩阵
每个类别十个样本
通过sklearn
调用metrics.classification_report
得到的结果是:
计算比较简单,可以手算一下。
5 待解决问题
- 为什么召回率和准确率的值会相同呢?
这不是一个偶然的现象,很多都是如此,大神请不吝赐教!
参考文章:
1 多分类里准确率和召回率等评估指标应如何计算?
2 分类–精确率和召回率
3 基于混淆矩阵计算多分类的准确率和召回率
4 准确率、精确率、召回率、F1
以上是关于多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算的主要内容,如果未能解决你的问题,请参考以下文章
多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算
多分类任务中精确率(Precision)召回率(Recall)以及准确率(Accuracy)评估指标的计算
R语言使用yardstick包的pr_curve函数评估多分类(Multiclass)模型的性能查看模型在多分类每个分类上的ROC曲线(precision(精准率),R代表的是recall(召回率)
R语言使用yardstick包的pr_curve函数评估多分类(Multiclass)模型的性能查看模型在多分类每个分类上的ROC曲线(precision(精准率),R代表的是recall(召回率)