机器学习中的性能度量有关笔记

查准率、召回率、F1系数、文本报告

查准率与查全率
• 查准率/准确率(precision): P = TP/(TP+FP)
• 查全率/召回率/灵敏度(recall):R = TP/(TP+FN)
• “1”代表正例,“0”代表反例

比较易理解的例子:
12张是狗的图片其余是猫的图片.现在利用程序去识别狗的图片,结果在识别出的8张图片中有5张是狗的图片,3张是猫的图片。
则该程序的查准率/精度precision=5/8,查全率/召回率recall=5/12。
由此可见:(我的理解,个人觉得比较好记)
查准率=正确结果数/识别总数量
查全率=正确结果数/正确结果的总数

F1系数
• 综合查准率与查全率:
F1求值
F1 值是精确度和召回率的调和平均值:
在这里插入图片描述
精确度和召回率都高时,F1值也会高. F1值在1时达到最佳值(完美的精确度和召回率),最差为0.在二元分类中, F1值是测试准确度的量度。

• 更一般的形式:
在这里插入图片描述
• 其中 β 为正数,度量了查全率对查准率的相对重要性
• β = 1 :标准的F1系数
• β > 1 :查全率有更大影响
β < 1 :查准率有更大影响

此处代码涉及sklearn,可查阅相关文档。

from sklearn.metrics import precision_score    #引入精准率
from sklearn.metrics import confusion_matrix   #引入混淆矩阵
from sklearn.metrics import classification_report     #分类指标的文本报告
#precision精准度/查准率/准确率   recall召回率  f1-sorce F1系数  support为每个标签的出现次数
#avg / total行为各列的均值(support列为总和)
y_true = [1, 0, 1, 1, 0]    #样本实际值
y_pred = [1, 0, 1, 0, 0]    #模型预测值
res = precision_score(y_true,y_pred, average=None)    #求查准率/准确率=TP / ( TP + FP )
res1 = confusion_matrix(y_true,y_pred)             #得出混淆矩阵
res2 = classification_report(y_true,y_pred)       #得到文本报告
print(res)
print(res1)
print(res2)

运行代码得到的结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值