1

我正在尝试将数据拆分为训练(80%)和测试(20%)集,但我需要先对数据进行洗牌,然后为每个数据集中的每个标签(y,10 个类)分配相等数量的样本。

我怎样才能在 lua/火炬中做到这一点?谢谢!

到目前为止,这是我的代码...

loaded = torch.load(data_file, 'ascii')
Data = {
data = loaded.data,
labels = loaded.labels,
size = 60000
}



Data.data:nDimension()
4

Data.labels:nDimension()
1

Data.data:size()
 60000
 1
32
32
[torch.LongStorage of size 4]

validationData.labels:size()
 60000
[torch.LongStorage of size 1]
4

1 回答 1

0

您可以执行以下操作来随机播放;

    dataSize = Data.data:size()[1]
    shuffleIdx = torch.randperm(dataSize)
    Data.data = Data.data:index(1,shuffleIdx:long())
    Data.labels = Data.labels:index(1,shuffleIdx:long())

但我不确定你问题的第二部分。

于 2016-02-08T10:04:16.407 回答