数据集查看器文档

拆分和子集

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

拆分和子集

机器学习数据集通常以*拆分*组织,并且它们也可能具有*子集*(也称为*配置*)。这些内部结构为构建数据集提供了支架,并决定了数据集应如何拆分和组织。了解数据集的结构可以帮助您创建自己的数据集,并知道在模型训练和评估期间应使用哪个数据子集。

split-configs-server

拆分

每个经过处理和清洗的数据集都包含*拆分*,即为特定需求保留的数据的特定部分。最常见的拆分是:

  • train:用于训练模型的数据;此数据暴露给模型
  • validation:保留用于评估和改进模型超参数的数据;此数据对模型隐藏
  • test:仅用于评估的数据;此数据对模型和我们自己完全隐藏

validationtest 集尤其重要,以确保模型确实在学习,而不是*过拟合*或仅仅记忆数据。

子集

一个*子集*(也称为*配置*)是比拆分更高级别的内部结构,一个子集包含拆分。你可以将子集视为一个更大数据集中的子数据集。它是一个有用的结构,可以为数据集添加额外的组织层。例如,如果你查看 多语言 LibriSpeech (MLS) 数据集,你会注意到有八种不同的语言。虽然你可以创建一个包含所有八种语言的数据集,但更整洁的做法可能是为每种语言创建一个子集。这样,用户可以立即加载他们感兴趣的语言数据集,而无需预处理数据集来过滤特定语言。

子集是灵活的,可以根据你想要的目标来组织数据集。例如,SceneParse150 数据集使用子集按任务组织数据集。一个子集专门用于分割整个图像,而另一个子集用于实例分割。

< > 在 GitHub 上更新