sklearn.metrics中的评价方法 precision_score,recall_score,F分数(f1_score,f_beta)和accuracy_score

二分类问题常用的评估指标是精度(precision),召回率(recall),F1值(F1-score)

评估指标的原理:

通常以关注的类为正类positive,其他类为负类negative,分类器在测试数据上预测正确或不正确,结合正负类,4种情况出现的可能为:
将正类预测为正类(true positive)——用tp表示
将正类预测为负类(false negative)——用fn表示
将负类预测为正类(false positive)——用fp表示
将负类预测为负类(true negative)——用tn表示
用诊断病人是否有病,“有病”是被关注的正类,“没病”是不关注的负类。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

应用

精度可以看作是预测数据的正确率(预测100个数据正确,其中有多少个是真的正确,这个值越高说明模型精度比较好),召回率可以看作是预测数据的实用性(预测的100个正确数据中真的正确占原本正确数据的百分比,这个值越高模型的价值越大。)有的模型预测精度很高,比如说预测出来的值都正确,但还有很多正确数据没预测出来,就可以说这个模型的价值不高。有的模型召回率很高,即所有正确的数据它全覆盖到了,但有点过拟合,存在错误数据也预测成了正确的,所以F1值就是一个对p和r的加权均值。一般来说,精度、召回率、F1值能很好地评估一个模型是否合适,F1值越高,模型越合适。
举个例子:
用经典的病人诊断例子:
在这里插入图片描述
则精度P为55.6%,召回率R为83.3%,F1值就不再算了。
当精度P和召回率R都很高的时候,F1值也会较高。
用代码演示:假设有10个病人问诊,7个是真有病,3个只是心理作用,诊断就是分类器(模型),1代表确有病,0代表没有病。

import numpy as np
from sklearn.metrics import precision_score,recall_score,f1_score
from sklearn.tree import DecisionTreeClassifier

y_true=np.array([1,0,1,0,1,
  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值