- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
(p1)
本节课我们将进行手写数字识别网络模型测试和评估的讲解
在训练完成以后,为了检验模型的训练结果,
可以在测试集上进行验证,
通过不同的估方法来评估。
针对一个分类模型,常见的评估方法是求分类准确率,
它能衡量所有类别预测正确的个数占所有样本的比值。
(p2)
我们来看一下具体的代码实现
在测试阶段,我们通常不需要进行反向传播和梯度更新,
因此使用withtorch.no_grad():来关闭梯度计算,以提高计算效率。
代码中的test_loader是一个包含测试数据的数据加载器,
其中每个数据点都包含一张28*28的手写数字图片和对应的标签。
对于每个测试数据点,代码首先将图片展开成一维向量,
然后将其输入到已经训练好的神经网络模型model中进行前向传播,
得到模型对该图片的预测结果output。
其中output是一个大小为10的张量,
每个元素代表模型对该图片为数字0~9的预测概率。
接下来,代码使用torch.max(output,1)
来从output中获取概率最大的类别,
也就是模型对该图片的预测结果。
其中torch.max函数的第二个参数1表示在横向(第二个)维度上取最大值,
返回的第一个结果是最大值,
第二个结果是最大值的下标,也就是模型对该图片的预测结果。
然后,代码将预测结果predicted和实际标签labels进行比较,
并统计预测正确的数量correct。
(p3)
最后,代码计算准确率correct/total,并将其格式化输出为字符串,打印出来作为测试结果。
(p4)
运行代码后,我们将得到模型在测试机上的准确率
(p5)
除了准确率外,还有很多其他的评价指标可以用来评价分类模型的性能,
例如精确率、召回率、F1值等。
精确率:指模型预测为正例中,真正为正例的比例
公式中得TP表示真正例的数量,FP表示假正例的数量。
(p6)
类似的,
召回率(Recall):指真正为正例中,模型预测为正例的比例
(p7)
有了精确率和召回率
我们还能建立一个更加全面的指标F1值
F1值:综合考虑精确率和召回率,是精确率和召回率的调和平均数。?
(p8)
那么在了解了这些指标的定义后
我们可以将原来的评价进行完善
这段代码是对训练好的神经网络模型进行测试
并计算准确率、精确率、召回率和F1值。
具体来说,代码中首先引入了precision_score、recall_score、f1_score三个函数,
这三个函数分别用来计算精确率、召回率和F1值。
这些函数都来自sklearn.metrics模块,需要先导入该模块才能使用。
接下来,代码使用withtorch.no_grad()来关闭梯度计算,
以提高计算效率。
然后,代码定义了变量correct和total,
分别表示预测正确的数量和测试数据点的总数。
代码还定义了两个空列表true_labels和pred_labels,
用来存储每个数据点的真实标签和预测标签。
接着,代码使用for循环遍历测试数据集中的每个数据点。
对于每个数据点,
代码首先将图片展开成一维向量,
并将其输入到已经训练好的神经网络模型中进行前向传播,得到模型对该图片的预测结果。
然后,代码使用torch.max函数来获取概率最大的类别,
也就是模型对该图片的预测结果,
并将预测结果predicted和实际标签labels进行比较,
统计预测正确的数量correct。
同时,代码将每个数据点的真实标签和预测标签分别添加到true_labels和pred_labels列表中。
(p9)
最后,代码分别使用precision_score、recall_score和f1_score函数来计算精确率、召回率和F1值,
其中true_labels和pred_labels分别表示真实标签和模型预测标签的数组,
参数average用来指定对每个类别的评价方式,常用的有macro和micro两种方式。
(p10)
最终,代码将准确率、精确率、召回率和F1值的评价结果以格式化字符串的形式输出。
(p10)
在进行模型评价时,我们也可以总结出一些注意点
首先是数据集的划分:
在训练和评价模型时,
需要将数据集划分为训练集、验证集和测试集。
其中,训练集用来训练模型,验证集用来调整模型的超参数,
测试集用来评价模型的性能。
需要注意的是,划分数据集时需要尽量保证数据集的均衡性,避免某个类别的数据过多或过少。
另外,在评价指标的选择方面:
评价指标的选择应该根据具体的任务和需求来确定。
例如,在二分类问题中,精确率、召回率和F1值是比较常用的评价指标;
在多分类问题中,准确率、混淆矩阵、分类报告等指标也很常见。
选择合适的评价指标可以更
您可能关注的文档
- 深度学习案例教程 教案全套 钱月钟 第1--9章 深度学习简介--语音识别.docx
- 深度学习案例教程 教案1.3 深度学习的发展.docx
- 深度学习案例教程 教案1.1 人工智能与机器学习.docx
- 深度学习案例教程 教案1.6 深度学习的应用领域-自然语言的处理.docx
- 深度学习案例教程 教案1.2 深度学习定义及分类.docx
- 深度学习案例教程 教案1.5 深度学习的应用领域-计算机视觉.docx
- 深度学习案例教程 教案1.4 深度学习的应用领域-语音识别.docx
- 深度学习案例教程 教案1.8 深度学习框架介绍.docx
- 深度学习案例教程 教案1.7 深度学习的特点.docx
- 深度学习案例教程 教案2.2PyTorch安装和Pycharm安装.docx
- 苏教版8年级上册数学全册教学课件(2021年10月修订).pptx
- 比师大版数学4年级下册全册教学课件.pptx
- 冀教版5年级上册数学全册教学课件.pptx
- 办公室普通党员2024年组织生活会个人对照检查发言材料供参考.docx
- 领导班子成员2025年组织生活会“四个带头”对照检查材料范文.docx
- 2024年度专题组织生活会个人“四个带头”对照检查材料范文.docx
- 党支部领导班子2025年民主生活会“四个带头”个人对照检查材料范文.docx
- 2024年抓基层党建工作述职报告参考范文.docx
- 2024年度民主生活会征求意见情况的报告范文2篇.docx
- 普通党员2024年组织生活会个人“四个带头”对照检查发言材料2篇.docx
最近下载
- 湖北电动吊篮安装拆卸专项施工方案(ZLP630型号、计算书).docx
- 068《写给大家看的设计书》读书笔记 PPT课件.pptx
- 《工程测量通用规范》GB55018-2021(书签).pdf
- 预防感统失调训练的小游戏(406个).pdf
- JJG 892-2022CN 验光仪检定规程.docx
- 2025年襄阳四中五中自主招生考试数学试题.pdf VIP
- 案例:概要设计(1) (1).pdf VIP
- 材料力学(长安大学)知到章节答案智慧树2023年.docx
- 2024年南京旅游职业学院单招职业技能测试题库及答案(精选题).docx VIP
- 2024-2030年中国测绘行业发展态势及未来前景趋势预测报告.docx
文档评论(0)