模型评估:精确率召回率准确率
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型评估:精确率召回率准确率相关的知识,希望对你有一定的参考价值。
参考技术A 假设样本实际标签分为 相关 和 不相关
对样本进行预测,预测为相关的样本 召回 ,其余的 不召回
精准率和召回率的分子是相同,但分母不同
两者的关系可以用一个 P-R 图来展示:
ROC曲线:其中横坐标为假正率(FPR),纵坐标为真正率(TPR)。TPR越高,同时FPR越低(即 ROC曲线越陡 ),那么 模型的性能就越好 。ROC曲线 无视样本不平衡 。
AUC曲线:等于ROC曲线下面积,可看做 某个随机正类别样本排列在某个随机负类别样本之上的概率 。
多分类问题可以将正样本为1,负样本为0
如 类A、B、C 正样本为A,负样本为B、C,则
参考文章:
多分类任务中精确率(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
以上是关于模型评估:精确率召回率准确率的主要内容,如果未能解决你的问题,请参考以下文章
[机器学习与scikit-learn-51]:模型评估-图解分类模型的评估指标(准确率精确率召回率)与代码示例
R语言glm拟合logistic回归模型:模型评估(模型预测概率的分组密度图混淆矩阵准确率精确度召回率ROCAUC)PRTPlot函数获取logistic模型最优阈值(改变阈值以优化)