已解决
杂记(3):在Pytorch中如何操作将数据集分为训练集和测试集?
来自网友在路上 171871提问 提问时间:2023-11-09 20:44:41阅读次数: 71
最佳答案 问答题库718位专家为你答疑解惑
在Pytorch中如何操作将数据集分为训练集和测试集?
- 0. 前言
- 1. 手动切分
- 2. train_test_split方法
- 3. Pytorch自带方法
- 4. 总结
0. 前言
数据集需要分为训练集和测试集! 其中,训练集单纯用来训练,优化模型参数;测试集单纯用来测试,评价模型效果。然而,如何将数据集分为训练集和测试集
这个简单的问题网上的回答也是五花八门,明明有简单的方法,当然不想用麻烦的方法啦!因此,这里做一下简单记录!
1. 手动切分
这里所言的手动切分指的是:将数据集前面一部分分为训练集,后面一部分分为测试集。具体代码而言如下:
# 假设所有数据极为数组a 标签为b
train_X = a[:int(0.8*len(a))]
test_X = a[int(0.8*len(a)):]train_Y = b[:int(0.8*len(a))]
test_Y = b[int(0.8*len(a)):]train_dataset= Data.TensorDataset(torch.FloatTensor(train_X ), torch.FloatTensor(train_Y ))
test_dataset= Data.TensorDataset(torch.FloatTensor(test_X), torch.FloatTensor(test_Y))trainLoader = DataLoader(dataset = train_dataset,batch_size = 18,num_workers = 0,shuffle = True)
testLoader = DataLoader(dataset = test_dataset,batch_size = 18,num_workers = 0,shuffle = True)
2. train_test_split方法
使用机器学习中的 train_test_split
方法!在机器学习中
切分数据集一般都用该方法,但是在Pytorch
中还是需要进行转换后方可输入模型。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(a, b, test_size=0.33, random_state=42)train_dataset= Data.TensorDataset(torch.FloatTensor(X_train), torch.FloatTensor(y_train))
test_dataset= Data.TensorDataset(torch.FloatTensor(X_test), torch.FloatTensor(y_test ))trainLoader = DataLoader(dataset = train_dataset,batch_size = 18,num_workers = 0,shuffle = True)
testLoader = DataLoader(dataset = test_dataset,batch_size = 18,num_workers = 0,shuffle = True)
3. Pytorch自带方法
Pytorch中自带的有将数据集随机切分
的方法 ( torch.utils.data.random_split
),不需要额外的操作!!!!具体代码如下:
import torch.utils.data as Datadataset = Data.TensorDataset(torch.FloatTensor(a), torch.FloatTensor(b))
batch_size = 16
# 将数据集分为训练集和测试集
trainLoader, testLodaer = Data.random_split(dataset,lengths=[int(0.9 * len(dataset)),len(dataset) - int(0.9 * len(dataset))],generator=torch.Generator().manual_seed(0))
4. 总结
到此,使用 在Pytorch中如何操作将数据集分为训练集和测试集已经介绍完毕了!!! 如果有什么问题欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的方法
也可以在评论区提出,后续会对其进行添加!!!!
如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。
查看全文
99%的人还看了
相似问题
- Kotlin学习——kt里的集合,Map的各种方法之String篇
- Office文件在线预览大全-Word文档在线预览的实现方法-OFD文档在线预览-WPS文件在线预览
- composer切换全局镜像源的方法
- Python通过selenium调用IE11浏览器报错解决方法
- 测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发
- Java8新特性 ----- Lambda表达式和方法引用/构造器引用详解
- C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达
- ChatGLM2 大模型微调过程中遇到的一些坑及解决方法(更新中)
- 类方法,静态方法和实例方法的区别及应用场景
- 【链表的说明、方法---顺序表与链表的区别】
猜你感兴趣
版权申明
本文"杂记(3):在Pytorch中如何操作将数据集分为训练集和测试集?":http://eshow365.cn/6-36520-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 目标检测算法 - YOLOv1
- 下一篇: pytorch之relu激活函数