深度学习8-常用评估函数与自定义评估函数


在这里插入图片描述

1.常用损失函数

评估函数的接口:tf.keras.metrics

tf.keras.metrics.Binary_Accuracy
tf.keras.metrics.binary_accuracy   两者有什么区别?

前者是类的实现形式,后者是函数的实现形式
常用评估函数:
回归
tf.keras.metrics.MeanSquaredError   (平方差误差,用于回归,MSE)
tf.keras.metrics.MeanAbsoluteError   (绝对值误差,用于回归,MAE)
tf.keras.metrics.MeanAbsolutePercentageError (平均百分比误差,用于回归,MAPE)
tf.keras.metrics.RootMeanSquareError    (均方根误差  用于回归)


分类:
tf.keras.metrics.Accuracy       (准确率 用于分类)
tf.keras.metrics.AUC            (ROC曲线下的面积,用于二分类)
tf.keras.metrics.Precision       (精确率,用于二分类)
tf.keras.mertics.Recall           (召回率,用于二分类)
tf.keras.metrixcs.TopKCategoricalAccuracy (多分类TopK准确率)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.自定义评估函数

基于tf.keras.metrics.Metric来实现的

两种实现形式:基于类的实现和基于函数的实现

大部分使用是基于类的实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.案例讲解-mnist数据集实现自定义评估函数

from __future__ import absolute_import, division, print_function, unicode_literals

import tensorflow as tf
import matplotlib.pyplot as plt

from tensorflow.keras.layers import Dense, Flatten, Conv2D
from tensorflow.keras import Model
import numpy as np

# 数据集
mnist = np.load("mnist.npz")
x_train, y_train, x_test, y_test = mnist['x_train'],mnist['y_train'],mnist['x_test'],mnist['y_test']

x_train, x_test = x_train / 255.0, x_test / 255.0

# 可视化
fig, ax = plt.subplots(
    nrows=2,
    ncols=5,
    sharex=True,
    sharey=True, )
 
ax = ax.flatten()
for i in range(10):
    img = x_train[y_train == i][0].reshape(28, 28)
    ax[i].imshow(img, cmap='Greys', interpolation='nearest')
    
ax[0].set_xticks(
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值