上海网站推广大全,抖音代运营怎么取消,wordpress编辑器定义,网站开发建设合同在Pytorch中如何操作将数据集分为训练集和测试集#xff1f; 0. 前言1. 手动切分2. train_test_split方法3. Pytorch自带方法4. 总结 0. 前言
数据集需要分为训练集和测试集#xff01; 其中#xff0c;训练集单纯用来训练#xff0c;优化模型参数#xff1b;测试集单纯用… 在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_size0.33, random_state42)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))],generatortorch.Generator().manual_seed(0))
4. 总结
到此使用 在Pytorch中如何操作将数据集分为训练集和测试集已经介绍完毕了 如果有什么问题欢迎在评论区提出对于共性问题可能会后续添加到文章介绍中。如果存在没有提及的方法也可以在评论区提出后续会对其进行添加
如果觉得这篇文章对你有用记得点赞、收藏并分享给你的小伙伴们哦。