计算深度学习评价指标Precision、Recall、F1

对深度学习的结果进行评价是深度学习的重要一环,一般常用的评价方法有:准确率(Accuracy),精确率(Precision),召回率(Recall),像素精度(PA),平均精度(AP),交并比(IoU)等方法。

1.什么是TP、TN、FP、FN

TP(True positives):正样本被正确识别为正样本。
TN(True negatives):负样本被正确识别为负样本。
FP(False positives):假的正样本,即负样本被错误识别为正样本。
FN(False negatives):假的负样本,即正样本被错误识别为负样本。

2. Recall

Recall是测试集中所有正样本样例中,被正确识别为正样本的比例。
Recall=TP/(TP+FN)

3.Precision

Precision就是在识别出来的正样本中,True positives所占的比率。
Precision=TP/(TP+FP)

4.F1

F1 score为精确率与召回率的调和均值,是用来衡量二分类模型精确度的一种指标。
F1=2*(Precision*Recall)/(Precision+Recall)

具体实现如下:```python
import cv2
import numpy as np
import os
from time import timestart = time()
predict_path = r"E:\allsample_chenjun\predict\thin"
label_path = r"E:\allsample_chenjun\testline"files = os.listdir(label_path)
list1 = []for file in files:result_name = os.path.join(label_path,file)list1.append(result_name)files = os.listdir(predict_path)
list2 = []
print("lable_len:",len(files))
for file in files:result_name = os.path.join(predict_path,file)list2.append(result_name)
print("predict_len:",len(files))
Recall = 0
Precision = 0
F1 = 0
for i in range(len(files)):TP = 0FP = 0FN = 0TN = 0img_lable = cv2.imread(list1[i],0)img_predict = cv2.imread(list2[i],0)x = np.array(img_lable)for j in range(x.shape[0]):index = np.arange(0, x.shape[1])a = index[img_lable[j]==img_predict[j]]for k in range(len(a)):if img_lable[j][a[k]] == 255:TP += 1else :TN += 1b = index[img_lable[j] != img_predict[j]]for k in range(len(b)):if img_lable[j][b[k]] == 255:FN += 1else :FP += 1Precision += TP/(TP+FP)Recall += TP/(TP+FN)F1 += (2 * (TP/(TP+FP)) * (TP/(TP+FN))/((TP/(TP+FP)) + (TP/(TP+FN))))print("第",i+1,"次计算完成")
end = time()
print('running time is :%f'%(end-start))
print("Precision:" ,Precision/len(files),"Recall:",Recall/len(files),"F1:",F1/len(files))

计算深度学习评价指标Precision、Recall、F1相关推荐

  1. 信息检索的评价指标(Precision, Recall, F-score, MAP)

    转载自: 信息检索的评价指标(Precision, Recall, F-score, MAP) - 小村长技术blog - 博客频道 - CSDN.NET http://blog.csdn.net/l ...

  2. 卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)

    卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习) 分享一些公式计算张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算. 以AlexNet网络为例,以下是该网络的参数结构图. A ...

  3. 手工计算深度学习模型中的参数数量

    https://www.toutiao.com/a6649299295855968782/ 2019-01-22 20:37:14 计算深度学习模型的可训练参数的数量被认为太微不足道了,因为您的代码已 ...

  4. 算法模型评价详解:confusion matrix Accuracy Precision Recall F1 调和平均 加权F1 Micro-F1 Macro-F1 PRC ROC AUC

    目录 问题定义 confusion matrix Accuracy Precision和Recall和PRC F1和调和平均 加权F1 Micro-F1和Macro-F1 ROC和AUC PRC对比R ...

  5. 深度学习原理3——深度学习评价指标

    衡量一个模型的好坏,首先需要确定指标体系,目前常用的指标有如下几个. 记住提到准确率是accuracy 提到精确率或者精度是Precision 机器学习评价指标 1 指标释义 1.1 混淆矩阵 (Co ...

  6. 深度学习评价指标总结及代码实现

    1.分类任务 混淆矩阵 混淆矩阵就是统计分类模型的分类结果,即:统计归对类,归错类的样本的个数,然后把结果放在一个表里展示出来,这个表就是混淆矩阵. 初步理解混淆矩阵,当以二分类混淆矩阵作为入门,多分 ...

  7. 图解常用的几种深度学习评价指标

    深度学习常用的评价指标 常用的评价指标包括: 准确率 (Accuracy) 混淆矩阵 (Confusion Matrix) 精确率(Precision) 召回率(Recall) 平均正确率(AP) m ...

  8. 视觉计算/深度学习/人工智能 笔试面试 汇总(腾讯、网易、yy、美图等)

    对应岗位为:基础研究或图像相关岗位,题目来源自同学们的汇总.. 一部分是我自行总结的,所以也不一定正确,欢迎捉虫. 每个问题都不停止的追问自己为什么,因为在面试中面试官肯定会不停的追问的. 之所以现在 ...

  9. php 置信区间 计算,深度学习篇-如何理解置信区间

    关于其在正态分布上的应用-- 正态分布的θ=(μ,σ^2)(这两个指标也是整个总体的均值和方差),而用n个服从同一正态分布的随机变量进行最大似然估计的结果是Argmax L(θ)=(x bar,s^2 ...

最新文章

  1. python2与python3转换记录
  2. 书中自有BAT Offer!
  3. 成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed
  4. Java float浮点数精度丢失问题
  5. python3.x版本的保留字总数是多少_Python3.6.5版本的保留字总数是:()-智慧树大数据分析的python基础章节答案...
  6. vue子父组件间传值
  7. JAVA面向对象明星类
  8. 深入理解JavaScript中的闭包
  9. 熊猫DataFrame from_dict()–字典到DataFrame
  10. 解决atom安装emmet的问题
  11. matlab和vc联合编程
  12. Axure RP 8 软件介绍
  13. php阴历阳历换算(1950开始)
  14. 利用Python爬取QQ好友头像
  15. Web服务器有哪些(转)
  16. 如何高效地做设计评审
  17. 【直击DTCC】浪潮霍俊路详解数据库集群锁机制管理
  18. LOTO 示波器软件功能——文件存储和回读功能
  19. 从国外官网github下载各种软件安装包项目太慢怎么办
  20. 几家线上少儿英语(vipkid、哒哒英语等)试听感想

热门文章

  1. 陈松松:制作视频优先选择这5种类型,总有一个适合你
  2. 91、基于STM32的智能投食智能鱼缸鱼塘养殖宠物喂食换水无线系统
  3. Android/安卓仿淘宝直播点赞效果/qq空间点赞效果动画
  4. py2exe 使用简介
  5. linux将py变成exe文件,使用py2exe将Python 脚本生成exe可执行文件
  6. 单纯形法min例题详解_单纯形法例题讲解
  7. 2014年春节完成的学习
  8. 联发科天玑1200(MT6893)5G 移动芯片详细性能及规格参数
  9. 2022年煤气考试练习题模拟考试平台操作
  10. vector之resize函数