机器学习笔记-多分类下的召回率和F值

分类任务中常见的评估指标,包括准确率(Accuracy)、精确率(Precision)、召回率(Recall)和值。但是在多分类场景中,我们通常也会采用召回率或者F值来作为评价指标.

1.分类评估指标

(1)二分类评估指标

假定现在有一个二分类的任务,其中0表示positive,1表示negative。同时有如下所示的标签值和预测值:

 

  • True Positive(TP):表示将正样本预测为正样本,即预测正确;

  • False Negative(FN):表示将正样本预测为负样本,即预测错误;

  • False Positive(FP):表示将负样本预测为正样本,即预测错误;

  • True Negative(TN):表示将负样本预测为负样本,即预测正确;

我们知道FP(False Positive)从字面意思来看表示的是错误的正类,也就是说实际上它并不是正类,而是错误的正类,即实际上为负类。因此,FP表示的就是将负样本预测为正样本的含义。再看一个FN,其字面意思为错误的负类,也就是说实际上它表示的是正类。

准确率:所有预测对的数量,除以总的数量。

精确率:计算的是预测对的正样本在整个预测为正样本中的比重

召回率:计算的是预测对的正样本在整个真实正样本中的比重

 对于整体的评估值,常见的做法有两种:第一种是取算术平均;第二种是加权平均

 算术平均就是等权重的对各类别的评估值进行累加求和。

加权平均就是以不同的加权方式来对各类别的评估值进行累加求和。

 

 

2.多分类任务

(1)混淆矩阵

加入有如下三分类任务的预测值和真实值:

 

先横向看再纵向看。例如第一个1(淡绿色单元格),表示的就是将真实值0预测为0的个数(预测正确);接着右边的1表示的就是将真实值0预测为1的个数;淡绿色单元格中的1表示的就是将真实值1预测为1的个数;淡绿色单元格中的2表示的就是将真实值2预测为2的个数。也就是说只有这个对角线上的值才表示模型预测正确的样本的数量。

 (2)指标计算

 

代码实现:

借助sklearn中的classification_report模块来完成所有的计算过程。

from sklearn.metrics import classification_report
y_true = [1, 1, 1, 0, 0, 0, 2, 2, 2, 2]
y_pred = [1, 0, 0, 0, 2, 1, 0, 0, 2, 2]
print(classification_report(y_true, y_pred))

 注解:其中macro avg就是算术平均,而weighted avg就是上面介绍的加权平均。

 以上内容均来源于月来客栈

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值