在keras里面实现计算f1-score的代码

作者:安于此生_ 时间:2021-12-13 08:39:43 

我就废话不多说了,大家还是直接看代码吧!


### 以下链接里面的code
import numpy as np
from keras.callbacks import Callback
from sklearn.metrics import confusion_matrix, f1_score, precision_score, recall_score
class 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.model.validation_data[0]))).round()
val_targ = self.model.validation_data[1]
_val_f1 = f1_score(val_targ, val_predict)
_val_recall = recall_score(val_targ, val_predict)
_val_precision = precision_score(val_targ, val_predict)
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)
return

metrics = Metrics()
model.fit(
train_instances.x,
train_instances.y,
batch_size,
epochs,
verbose=2,
callbacks=[metrics],
validation_data=(valid_instances.x, valid_instances.y),
)

补充知识:Keras可使用的评价函数

1:binary_accuracy(对二分类问题,计算在所有预测值上的平均正确率)

binary_accuracy(y_true, y_pred)

2:categorical_accuracy(对多分类问题,计算在所有预测值上的平均正确率)

categorical_accuracy(y_true, y_pred)

3:sparse_categorical_accuracy(与categorical_accuracy相同,在对稀疏的目标值预测时有用 )

sparse_categorical_accuracy(y_true, y_pred)

4:top_k_categorical_accuracy(计算top-k正确率,当预测值的前k个值中存在目标类别即认为预测正确 )

top_k_categorical_accuracy(y_true, y_pred, k=5)

5:sparse_top_k_categorical_accuracy(与top_k_categorical_accracy作用相同,但适用于稀疏情况)

sparse_top_k_categorical_accuracy(y_true, y_pred, k=5)

来源:https://blog.csdn.net/qq_23069955/article/details/80709037

标签:keras,f1-score
0
投稿

猜你喜欢

  • eWebEditor不支持IE8/IE7的解决方法

    2010-02-28 10:27:00
  • 深入理解Python爬虫代理池服务

    2022-11-05 17:20:29
  • python 如何引入协程和原理分析

    2022-09-06 11:26:07
  • 一步步教你在Navicat上如何停止正在运行的MYSQL语句

    2024-01-21 06:17:01
  • python实现爱奇艺登陆密码RSA加密的方法示例详解

    2022-02-10 00:41:53
  • python使用docx模块读写docx文件的方法与docx模块常用方法详解

    2022-05-14 11:37:17
  • 利用python调用摄像头的实例分析

    2022-01-03 22:10:14
  • Python时间戳使用和相互转换详解

    2023-01-22 08:14:28
  • pandas DataFrame运算的实现

    2021-06-02 21:08:22
  • 如何实现固定长度的自动编号?

    2010-06-03 10:08:00
  • Python爬虫爬取电影票房数据及图表展示操作示例

    2021-07-18 08:34:32
  • 关于document.createDocumentFragment()

    2009-04-05 16:04:00
  • mysql用户创建与授权的简单实例

    2024-01-18 00:20:18
  • vue axios 二次封装的示例代码

    2024-05-28 15:55:04
  • python分析nignx访问日志脚本分享

    2021-05-22 14:55:14
  • 2行css代码屏蔽网页挂马

    2008-09-29 18:54:00
  • JS实现单击输入框弹出选择框效果完整实例

    2024-04-22 22:33:02
  • python字符串格式化方式解析

    2021-06-22 14:01:46
  • 对Python 2.7 pandas 中的read_excel详解

    2023-09-10 04:14:49
  • 仿dw8代码折叠功能的HTML编辑器

    2008-04-29 21:19:00
  • asp之家 网络编程 m.aspxhome.com