tensorflow机器学习模型评估

在搭建网络模型时通常要建立一个评估模型正确率的节点(evaluation_step)

这里介绍一个对于分类问题可以用的评估方法:

代码:

correct_prediction = tf.equal(tf.argmax(logits, 1), tf.argmax(groundtruth_input, 1))

evaluation_step = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

介绍一下其中的几个函数

tf.argmax(y,1)返回矩阵y中的最大元素的索引(第二个参数为0就按行返回,1则按列返回)

tf.equal(x,y)判断x, y 是不是相等,判断方法不是整体判断,而是逐个元素进行判断,如果相等就是True,不相等就是False。由于是逐个元素判断,所以x,y 的维度要一致。

tf.cast(x,tf.float32)函数的作用是执行 tensorflow 中张量数据类型转换,x为一个张量,函数将x中的每个元素转换为tf.float的类型(若x中元素为true\false就转换为了0.\1.)

tf.reduce_mean(input_tensor,axis=None,keep_dims=False)用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值

axis=0则按列计算,axis=1则按行计算

keep_dims为true则计算结果保持原来张量形状不变

该评估模型方法将最后一层输出logits和标签groundtruth_input进行对比,并将对比结果转换为float张量,再按列计算平均值作为正确率

原文地址:https://www.cnblogs.com/biandekeren-blog/p/11871375.html

时间: 2024-08-30 03:57:53

tensorflow机器学习模型评估的相关文章

tensorflow机器学习模型的跨平台上线

在用PMML实现机器学习模型的跨平台上线中,我们讨论了使用PMML文件来实现跨平台模型上线的方法,这个方法当然也适用于tensorflow生成的模型,但是由于tensorflow模型往往较大,使用无法优化的PMML文件大多数时候很笨拙,因此本文我们专门讨论下tensorflow机器学习模型的跨平台上线的方法. 1. tensorflow模型的跨平台上线的备选方案 tensorflow模型的跨平台上线的备选方案一般有三种:即PMML方式,tensorflow serving方式,以及跨语言API方

机器学习模型评估指标汇总

在使用机器学习算法过程中,针对不同的问题需要不用的模型评估标准,这里统一汇总.主要以两大类分类与回归分别阐述. 一.分类问题 1.混淆矩阵 混淆矩阵是监督学习中的一种可视化工具,主要用于比较分类结果和实例的真实信息.矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别. 真正(True Positive , TP):被模型预测为正的正样本. 假正(False Positive , FP):被模型预测为正的负样本. 假负(False Negative , FN):被模型预测为负的正样本. 真

机器学习-模型评估

一.经验误差和过拟合 错误率  E=a/m, a分类错误的样本数,m样本总数 精度 = 1 - E. 学习器在训练集上的误差:训练误差:在新样本上的误差:泛化误差.好的学习器应在新样本上表现优秀,因此学习器应尽可能掌握样本的潜在规律,提升泛化性能. 过拟合:学习能力过于强大,样本训练时将样本“自身特点”当做潜在样本的“一般规律”,导致泛化能力下降. 欠拟合:学习能力低下,对训练样本的一般性质未掌握好. 一般来说,欠拟合比较容易克服,如决策树-增加分支,神经网络-增加训练轮数等.而过拟合是机器学习

TensorFlow教程03:针对机器学习初学者的MNIST实验——回归的实现、训练和模型评估

实现回归模型 为了用python实现高效的数值计算,我们通常会使用函数库,比如NumPy,会把类似矩阵乘法这样的复杂运算使用其他外部语言实现.不幸的是,从外部计算切换回Python的每一个操作,仍然是一个很大的开销.如果你用GPU来进行外部计算,这样的开销会更大.用分布式的计算方式,也会花费更多的资源用来传输数据. TensorFlow也把复杂的计算放在python之外完成,但是为了避免前面说的那些开销,它做了进一步完善.Tensorflow不单独地运行单一的复杂计算,而是让我们可以先用图描述一

机器学习笔记(二)模型评估与选择

2.模型评估与选择 2.1经验误差和过拟合 不同学习算法及其不同参数产生的不同模型,涉及到模型选择的问题,关系到两个指标性,就是经验误差和过拟合. 1)经验误差 错误率(errorrate):分类错误的样本数占样本总数的比例.如果在m个样本中有a个样本分类错误,则错误率E=a/m,相应的,1-a/m称为精度(accuracy),即精度=1-错误率. 误差(error):学习器的实际预测输出和样本的真实输出之间的差异.训练误差或经验误差:学习器在训练集上的误差:泛化误差:学习器在新样本上的误差.

【机器学习 第2章 学习笔记】模型评估与选择

1.训练误差:学习器在训练集上的误差,也称“经验误差” 2.泛化误差:学习器在新样本上的误差 显然,我们的目标是得到在新样本上表现更好的学习器,即泛化误差要小 3.过拟合:学习器把训练样本学的太好了,导致泛化性能下降(学过头了...让我联想到有些人死读书,读死书,僵化,不懂得变通和举一反三) 原因:学习能力过于强大,把一些不太一般的特性也学了进来 针对措施:不好解决,是机器学习面临的关键障碍 4.欠拟合:就是连训练集都没学好,更别说泛化了(有点管中窥豹,盲人摸象的意思). 原因: 学习能力低下

机器学习之模型评估与模型选择(学习笔记)

时间:2014.06.26 地点:基地 -------------------------------------------------------------------------------------- 一.训练误差和测试误差 机器学习或者说统计学习的目的就是使学习到的模型不仅对已知数据而且对未知数据都都很好的预测能力.不同的学习方法会得出不同的模型.在评判学习方法的好坏时,常用的是: 1.基于损失函数的模型的训练误差                          2.模型的测试误

机器学习总结之第二章模型评估与选择

机器学习总结之第二章模型评估与选择 2.1经验误差与过拟合 错误率 = a个样本分类错误/m个样本 精度 = 1 - 错误率 误差:学习器实际预测输出与样本的真是输出之间的差异. 训练误差:即经验误差.学习器在训练集上的误差. 泛化误差:学习器在新样本上的误差. 过拟合:学习器把训练样本学的"太好",把不太一般的特性学到了,泛化能力下降,对新样本的判别能力差.必然存在,无法彻底避免,只能够减小过拟合风险. 欠拟合:对训练样本的一半性质尚未学好. 2.2评估方法 (在现实任务中,还需考虑

【机器学习123】模型评估与选择 (上)

第2章 模型评估与选择 2.1 经验误差与过拟合 先引出几个基本概念: 误差(error):学习器的实际预测输出与样本的真实输出之间的差异. 训练误差(training error):学习器在训练集上的误差,也称"经验误差". 测试误差(testing error):学习器在测试集上的误差. 泛化误差(generalization error):学习器在新样本上的误差. 错误率(error rate):分类错误的样本数占样本总数的比例. 精度(accuracy) = 1 – 错误率.