在 Python 中拆分 test-val 数据有什么"seed",如何得出正确的数字?



我正在尝试拆分我的图像数据集,以便它可以有一个训练集和验证集。我发现了这个名为split folders的Python库。语法易于理解

splitfolders.ratio("input_folder", output="output", seed=1337, ratio=(.8, .1, .1), group_prefix=None)

但我不知道这个种子参数以及它的作用。页面上的描述只说";种子使分裂可再现";并且";它搅乱项目";但这并不能真正为我解释什么。我在谷歌上搜索过,没有一个给我明确的答案。有人能给我一个简短的解释吗?

默认数字是1337,但为什么呢?将种子设定为1337意味着什么?他们是怎么得出这个数字的?如何为数据集找到正确的种子?

当您拆分语料库以训练、验证和测试集时,您会将一个数据点随机分配给这三个集中的一个。使用种子可以追踪随机性。

想象一下,你有一个随机生成器,一个BlackBox,它给你一系列随机数;但对于每个给定的种子,它生成的序列总是相同的。例如,对于seed=1337,随机生成器将始终生成随机数序列,如12901110,1,。。。。在同一台计算机上。

为什么我们关心追踪随机性,尤其是在分割语料库进行训练的情况下?因为大多数时候,你想用同样的数据重复同样的实验。因此,如果你不使用种子值,每次你运行同一个实验,你最终会得到不同的训练设置。

种子值本身并不重要,只要你通过某个值获得它,你就知道它在实验中是固定的。我个人把它设置为一个素数。

最新更新