对于TP, TN, FP, FN, Pre, Recall的举例

本文介绍了机器学习中用于评估模型性能的指标,包括真阳性(TP),真阴性(TN),假阳性(FP)和假阴性(FN),以及精确度(Precision)和召回率(Recall)的概念。通过二分类问题的示例,详细解释了这些指标的计算方法,并使用Python的sklearn库进行验证,展示了如何在实际问题中应用这些概念。
摘要由CSDN通过智能技术生成

对于以上参数的概念以及理解,请参考我的文章:

机器学习中TP,TN,FP,FN,Acc,Pre,Sen, Rec的含义_汤宪宇的博客-CSDN博客_机器学习accz

 这里我们在将上面概念的定义重新梳理一遍:

1.概念

TP:true positive,被判定为正样本,事实上也是正样本;

TN:true negative,被判定为负样本,事实上也是负样本;

FP:false positive,被判定为正样本,但事实上是负样本;

FN:false negative,被判定为负样本,但事实上是正样本;

精确度Precision:Pre=\frac{TP}{TP+FP}

召回率Recall:Recall=\frac{TP}{TP+FN}

2.举例说明

这里以二分类为例,分类结果为0和1,共有15个需要预测的结果。

假设真值和预测值结果如下:

真值011011001010100
预测值111110000011101

 2.1 对于结果“1”来说

TP为预测为1,真值也为1的值,即图中深绿色底色的值,共有5个;

TN为预测为0,真值也为0的值,即图中橙色底色的值,共有4个;

FP为预测为1,但是预测错了,真值为0的值,即图中红色底色的值,共有4个;

FN为预测为0,但是预测错了,真值为1的值,即图中浅绿色底色的值,共有2个;

 

计算Pre=TP/(TP+FP)=5/(5+4)=55.56%

计算Recall=TP/(TP+FN)=5/(5+2)=71.43%

 2.2 对于结果“0”来说

TP为预测为0,真值也为0的值,即图中深绿色底色的值,共有4个;

TN为预测为1,真值也为1的值,即图中橙色底色的值,共有5个;

FP为预测为0,但是预测错了,真值为1的值,即图中红色底色的值,共有2个;

FN为预测为1,但是预测错了,真值为0的值,即图中浅绿色底色的值,共有4个;

计算Pre=TP/(TP+FP)=4/(4+2)=66.67%

计算Recall=TP/(TP+FN)=4/(4+4)=50%

3. 程序验证

from sklearn.metrics import classification_report

true_data = [0,1,1,0,1,1,0,0,1,0,1,0,1,0,0]
pred_data = [1,1,1,1,1,0,0,0,0,0,1,1,1,0,1]

print(classification_report(true_data, pred_data))

得到的结果如下:

              precision    recall  f1-score   support

           0       0.67      0.50      0.57         8
           1       0.56      0.71      0.63         7

    accuracy                           0.60        15
   macro avg       0.61      0.61      0.60        15
weighted avg       0.61      0.60      0.60        15

和我们上面的计算一致。

4. 个人的理解

Recall的意思是溯源,看源头也就是真实值当中,有多少预测对了。

Precision的意思是精确度,看预测为positive的准确度是多少(预测为Postive中,真是为Postive的比例)

4.1 对于标签1来说:

当Recall很高时,证明TP大,FN小,特别是在Recall=1时,FN=0,证明所有的真值为“1”都预测对了。

当Precision很高时,证明TP大,FP小,特别是在Precision=1时,FP=0,证明所有的所有的真值为“0”都预测对了。

当Recall=1,Precison=87%时,证明所有的真值为“1”都预测对了,但是有部分0被预测为1了。证明1多了,

4.2 对于标签0来说:

当Recall很高时,证明TP大,FN小,证明真值为“0”的项目预测错的少;特别是在Recall=1时,FN=0,证明所有的真值为“0”都预测对了。

当Precision很高时,证明TP大,FP小,证明真值为“1”的项目预测错的少;特别是在Precision=1时,FP=0,证明所有的所有的真值为“1”都预测对了。

当Recall=1,Precison=87%时,证明所有的真值为“0”都预测对了,但是有部分1被预测为0了,占比13%。证明0多了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值