彻底掌握准确率、精准率、召回率和ROC曲线

您所在的位置:网站首页 分类模型的评估方法包括什么 彻底掌握准确率、精准率、召回率和ROC曲线

彻底掌握准确率、精准率、召回率和ROC曲线

2024-07-16 18:58| 来源: 网络整理| 查看: 265

分类评估方法

分类模型应用的方面比较多,比如一个发生概率为90%的事件,如果只是按照准确率进行评估模型的话,那么该模型会将所有结果一律为正例反馈给你,这个准确率就高达90%了,但该模型没有实际意义。为了应对这种情况我们需要用到其他的评估方法来评价模型。

混淆矩阵

我们在分类任务中,真实情况有正反两种情况,预测情况也有正反两种情况,那么真实情况和预测情况就组成了混淆矩阵。

预测正例P预测反例N真实正例TPFN真实反例FPTN

其中PN代表Positive和Negative,表示预测的正例和反例;而TN代表True和False,表示预测结果与真实结果是否一致,如果一致表示T,不一致则为F。

准确率

准确率就是预测正确的概率,预测正确的不管是正例还是反例,公式如下: 准确率 = T P + T N T P + T N + F P + F N 准确率 = \frac{TP+TN}{TP+TN+FP+FN} 准确率=TP+TN+FP+FNTP+TN​

精准率Precision

精准率是在模型预测为正例的这一列情况中,有多少是预测正确的,也就是真实正例是多少,公式如下: 在这里插入图片描述

精准率 = T P T P + F P 精准率 = \frac{TP}{TP+FP} 精准率=TP+FPTP​

召回率Recall

召回率是真实结果为正的这一行情况中,有多少被模型预测正确,公式如下: 在这里插入图片描述

召回率 = T P T P + F N 召回率 = \frac{TP}{TP+FN} 召回率=TP+FNTP​

我们经常听到某个产品出问题,厂家要召回该产品,而需要召回的产品一般有严重缺陷的,这里我们把有问题的产品类比为真实正例,而公司确定召回为预测正例,从公司和消费者的角度来看,我们希望问题的产品都被召回,而公司也希望被召回的都是有问题的产品,所以有了召回率这一概率。

F1-Score

F1-Score也叫F1值,是判断模型稳健性的,公式如下: F 1 值 = 2 T P 2 T P + F N + F P = 2 召回率 ∗ 精准率 召回率 + 精准率 F1值 = \frac{2TP}{2TP+FN+FP} = \frac{2召回率*精准率}{召回率+精准率} F1值=2TP+FN+FP2TP​=召回率+精准率2召回率∗精准率​

ROC曲线和AUC指标

了解ROC曲线前,要先了解两个概念,真阳性率(TPR)和假阳性率(FPR)。

真阳性率是真实情况中正例中,被预测为1的比例,公式如下: 真阳性率 = T P T P + F N 真阳性率 = \frac{TP}{TP+FN} 真阳性率=TP+FNTP​

假阳性率是真实情况中假例中,被预测为0的比例,公式如下: 假阳性率 = F P F P + T N 假阳性率 = \frac{FP}{FP+TN} 假阳性率=FP+TNFP​

而ROC曲线就是以假阳性率FPR为横坐标,真阳性率TPR为纵坐标的图形。在分类模型中,我们希望该模型的假阳率越低越高,而真阳率越高越好。 在这里插入图片描述 AUC值则表示ROC曲线到假阳性率的面积,面积越大表示分类模型的效果越好,该值的范围在0.5-1之间;其中0.5是上图的红色线,表示猜中的概率为0.5,属于乱猜的概率;而1的值则表示该分类模型对于每一种都能猜准,属于完美分类器,一般不存在。我们在调节参数时希望AUC值越高越好。

评估方法API 召回率与精确率

sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )

y_true:真实⽬标值y_pred:估计器预测⽬标值labels:指定类别对应的数字target_names:⽬标类别名称return:每个类别精确率与召回率 ROC值

sklearn.metrics.roc_auc_score(y_true, y_score)计算ROC曲线⾯积,即AUC值

y_true:每个样本的真实类别,必须为0(反例),1(正例)标记y_score:预测得分,可以是正例的估计概率、置信值或者分类器⽅法的返回值


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3