- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
03训练、测试数据
1
我们本节课来学习训练数据和测试数据。
训练数据和测试数据是用于建立和验证机器学习模型的数据,选择正确的训练和测试数据对于建立有效的模型是至关重要的。
那么,什么是训练数据和测试数据呢?我们分别来看一下。
2
训练数据是用来训练机器学习模型的数据,模型通过学习训练数据中的特征和目标变量的关系来理解数据的模式和规律。
3
测试数据则是用来评估模型性能的数据,它提供了一种方式,让我们能够评估模型在未知数据上的表现。通过比较模型在测试数据上的预测结果和实际结果,我们可以了解模型的精度,也就是了解模型的预测能力有多么的好。
4
接下来,我们来看训练数据和测试数据如何分割。
常见的分割方法有三种,第一种是留出法。
这是最常见的划分方式。通常将原始数据按比例,比如说70%:30%,那就是将70%的数据划分为训练集,剩下30%为测试集。训练集用于训练模型,测试集用于评估模型。
这种方法的缺点是其性能高度依赖于划分的方式。
5
第二种方法是交叉验证。
为了减少留出法由于随机划分导致的性能评估不稳定的问题,我们可以采用交叉验证方法来划分数据集。
这个方法是将数据集划分为K个大小相似的互斥子集,然后每次用K-1个子集的并集作为训练集,剩下的1个作为测试集,这样就可以得到K组训练或者测试集,从而进行K次训练和测试,最终返回的是这K个测试结果的均值。
6
第三个方法是自助法。
通过有放回的进行抽样来创建新的训练数据。自助法可以有效的使用数据,但是它改变了原始数据的分布,可能会引入偏差。
三种分割方法各有利弊,主要还是需要根据项目的实际需求来选择训练和测试数据分割的方式。
7
那么,在Python中,我们通常会使用scikit-learn库的train_test_split函数进行训练和测试数据的分割。
我们来看一段简单的训练数据和测试数据分割的例子。
8
首先我们导入对应的包。
9
假设X为特征数据,y为目标数据
10
我们可以调用train_test_split函数来划分训练数据和测试数据,使用test_size参数来指定测试数据的比例(在这里为20%),random_state参数用于确保每次划分都得到相同的结果。
划分好后,现在可以使用X_train和y_train进行模型训练,然后使用X_test和y_test来评估模型。
11
在PyTorch中,虽然没有直接提供像scikit-learn中的train_test_split这样的函数,但是我们可以使用PyTorch的Dataset和DataLoader类以及一些Python功能轻松实现这一点。
我们来看个简单的小例子。
首先我们导入对应的包。
13
然后定义了一个MyDataset这样的一个数据集的类。
在这个类中,它接受特征数据X和目标数据y,并实现了__len__和__getitem__方法,这两个方法是所有PyTorch数据集都需要实现的。
14
然后我们来创建数据集,并定义好训练集和测试集的大小。
15
接下来就是数据集的分割,我们使用random_split函数将数据集分割为训练集和测试集。
16
最后,我们使用DataLoader类创建了训练和测试的数据加载器,这将使我们能够在训练和测试模型时轻松地迭代数据。
这就是使用PyTorch来进行针对于我们训练数据集和测试数据集的操作。
我们在这个例子中使用了一个DataLoader类,DataLoader会运行时动态加载数据,所以当我们的数据集非常大的时候,我们可以使用这种方法来减少内存的使用。
同时呢,这个DataLoader还支持自动批处理、数据乱序以及多线程数据加载这些功能。
好。本节对于训练、测试数据就到这里。
您可能关注的文档
- 深度学习案例教程 教案全套 钱月钟 第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
文档评论(0)