近期写课程作业,需要用Keras搭建网络层,跑实验时需要计算precision,recall和F1值,在前几年,Keras没有更新时,我用的代码是直接取训练期间的预测标签,然后和真实标签之间计算求解,代码是

from keras.callbacks import Callback
from sklearn.metrics import confusion_matrix, f1_score, precision_score, recall_scoreclass Metrics(Callback):def on_train_begin(self, logs={}):self.val_f1s = []self.val_recalls = []self.val_precisions = []def on_epoch_end(self, epoch, logs={}):val_predict = (np.asarray(self.model.predict(self.validation_data[0]))).round()##.modelval_targ = self.validation_data[1]###.model_val_f1 = f1_score(val_targ, val_predict,average='micro')_val_recall = recall_score(val_targ, val_predict,average=None)###_val_precision = precision_score(val_targ, val_predict,average=None)###self.val_f1s.append(_val_f1)self.val_recalls.append(_val_recall)self.val_precisions.append(_val_precision)#print("— val_f1: %f — val_precision: %f — val_recall: %f" %(_val_f1, _val_precision, _val_recall))print("— val_f1: %f "%_val_f1)returnf1=Metrics()
hist=cnn_net.fit(x_train,y_train,batch_size=batch_size,epochs=35,verbose=1,validation_data=(x_train,y_train),callbacks=[f1])

需要使用时,将Metrics文件导入,调用函数,放置到model.fit( callbacks=[ f1 ] )中就可以计算了。


现在TensorFlow更新到2.2.0以上,Keras版本为2.4.3以上,上面那个函数就不太管用了,后来查资料找到了一个包,keras-metrics.

安装后,导入包 keras_metrics,将设置好的参数放置model.compile( metrics=[ km.f1score() ] )

import keras
import keras_metrics as kmmodel = models.Sequential()
model.add(keras.layers.Dense(1, activation="sigmoid", input_dim=2))
model.add(keras.layers.Dense(1, activation="softmax"))model.compile(optimizer="sgd",loss="binary_crossentropy",metrics=[km.f1_score(), km.binary_precision(), km.binary_recall()])

添加上之后,就可以计算评价值了。

keras计算precision、recall、F1值相关推荐

  1. 算法模型评价详解: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 ...

  2. 准确度(accuracy)、精确率(precision)、召回率(recall)、F1值 谈谈我的看法

    目录 前言 基本概念 准确率 Accuracy 精确度 Precision 召回率 Recall F1 值 sklearn 的评估函数 pyspark 的评估函数 tensorflow 的评估函数 多 ...

  3. F1值(F-Measure)、准确率(Precision)、召回率(Recall) 菜鸡版理解

    前置知识: T(True): 正确的 F (False) : 错误的 P (Positive) : 正向的/积极的 N (Negetive): 负向的/消极的 则: TP:正确的 预测了 正向的 FN ...

  4. 分类性能评价指标——精确率,召回率,F1值详细解释

    分类性能的评价指标 准确率 准确率是全部参与分类的文本中,与人工分类结果吻合的文本所占的比例. 即:预测与真实标签相同的比例 Accuracy=TP+TNTP+TN+FP+FNAccuracy=\fr ...

  5. 准确率、精确度、召回率以及F1值的理解和作用

    一.精确度和准确率.召回率和漏检率 *****精确度***: Precision 计算公式:P = TP / ( TP + FP ) 定义:检测出的正例中,真正是正例的个数占检测出的正例的比例 举例: ...

  6. 查准率-查全率precision recall(PR)曲线Matlab实现

    在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价.precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision rec ...

  7. 准确率、精准率、召回率和F1值详解

    专业术语的中英文对照表   英文名 准确率 Accuracy 精准率 Precise 召回率 Recall F1值 F1 measure Precise和Recall是广泛应用在信息检索和统计学分类领 ...

  8. skmetrics输出acc、precision、recall、f1值相同的问题

    一个很神奇的现象 我给一个多分类任务做分类的评估,反正指标说来说去就那几个嘛 acc = skmetrics.accuracy_score(y_true, y_pred) b_acc = skmetr ...

  9. 精确率(Precision)、召回率(Recall)与F1值

    衡量二分类器的评价指标除了准确率(Accuracy)外,还有精确率(Precision).召回率(Recall).F1 值等. 精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的 ...

最新文章

  1. 计算机ROM的数据可以写入吗,计算机ROM存贮器中的内容只能读出,不能写入。()
  2. mysql 查询优化实验报告_Mysql查询优化小结
  3. 计算机运行黑屏显示器正常,电脑主机运行正常 显示器黑屏
  4. 数据中心迎来重大利好消息,工商业电价降低10%
  5. android中多线程绘制曲线图实例
  6. oracle 存储中文 u码,Oracle 汉字 占位
  7. python数码时钟代码_python实现简易数码时钟
  8. 武汉往事之撰写的SAP软文被微信公众号充公
  9. 苹果AirPods大受欢迎:与iPod鼎盛时期相当
  10. SSO单点登录系列1:cas客户端源码分析cas-client-java-2.1.1.jar
  11. 网站性能工具-YSlow的23个规则-网站性能优化
  12. 吴恩达机器学习作业(1)
  13. mysql查看mylog命令_mysql 日志查询(查看mysql日志命令)
  14. 最新 | 诺奖得主涉嫌论文造假
  15. java 按钮响应回车_swing 设置回车响应按钮的方法
  16. 大湾区国际创客峰会暨MFSZ2021重磅回归!
  17. ERROR: ORA-12547: TNS:lost contact
  18. es java 查询为空和非空的数据
  19. Linux系统安装单机版K8S
  20. Windows10清理预留存储

热门文章

  1. Programmer day01 and day02
  2. 【LSSVM回归预测】基于matlab飞蛾扑火算法优化LSSVM回归预测【含Matlab源码 142期】
  3. c/c++中int,long,long long的取值范围
  4. 公交查询php源码,公交查询源码android
  5. Crash 变量解析
  6. 如何使用timeit模块
  7. 计算机存储一个像素点需要多大内存,占了多少字节?
  8. 任务栏多窗口点击应用默认上一次使用的窗口
  9. 关于GP2Y1010AU0F SHARP传感器使用
  10. 男女经济独立还是AA制?