# Splitting training data into train & dev sets # if mode == 'train': # indices = [i for i in range(len(data)) if i % 10 != 0] # elif mode == 'dev': # indices = [i for i in range(len(data)) if i % 10 == 0] #baseline上面这段代码划分训练集和测试集按照顺序选择数据,可能造成数据分布问题,我改成随机选择 indices_tr, indices_dev = train_test_split([i for i in range(data.shape[0])], test_size = 0.1, random_state = 0) if self.mode == 'train': indices = indices_tr elif self.mode == 'dev': indices = indices_dev # Convert data into PyTorch tensors self.data = torch.FloatTensor(data[indices]) self.target = torch.FloatTensor(target[indices])
时间: 2024-02-14 18:31:55 浏览: 167
数据集分割train和test程序
这部分代码用于将训练数据划分为训练集和开发集。原来的代码是根据数据的顺序进行划分,可能会导致数据分布不均匀的问题。现在改成了随机选择数据进行划分,使用了train_test_split函数从范围为0到数据长度的列表中随机选择一定比例的索引,其中的10%作为开发集,而剩下的90%作为训练集。
然后,将选择的数据转换为PyTorch的FloatTensor类型,并分别赋值给self.data和self.target。
阅读全文