precision、recall、f1score的计算

python计算precision、recall、f1score

一、介绍TP、TN、FP、FN

二分类中,假设只有正类(1)和负类(0)两个类别,True(1)和False(0)分别表示对和错;Positive(1)和Negative(0)表示预测为正类和负类。

TP:预测为Positive并且对了(样本为正类且预测为正类)
TN:预测为Negative并且对了(样本为负类且预测为负类)
FP:预测为Positive但是错了(样本为负类但预测为正类)
FN:预测为Negative但是错了(样本正类但预测为负类)
在这里插入图片描述

二、介绍precision、recall、f1score

TP+FP: 预测为Positive并且对了+预测为Positive但是错了=预测为Positive的样本总数
所以,precision表示为:被正确预测的Positive样本 / 被预测为Positive的样本总数
在这里插入图片描述

TP+FN: 预测为Positive并且对了+预测为Negative但是错了=实际为Positive的样本总数
所以,recall表示为:被正确预测的Positive样本 / 实际为Positive的样本总数
在这里插入图片描述

f1score是调和平均值,precision和recall只要一个比较小的话,f1score的值也会被拉下来:
在这里插入图片描述

三、python调用sklearn包实现

from sklearn.metrics import precision_score, recall_score, f1_score

y_true = [0, 1, 0, 1, 0, 1]

y_pred = [0, 0, 0, 1, 0, 1]

print('binary------------')
print("precision: {}".format(precision_score(y_true, y_pred, average='binary')))
print("recall: {}".format(recall_score(y_true, y_pred, average='binary')))
print("f1: {}".format(f1_score(y_true, y_pred, average='binary')))

运行结果:
运行结果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值