数据集概览

机器学习领域,为了评估算法在现实世界数据上的表现,常常需要获取大型数据集。这些数据集不仅包括了机器学习社区常用的基准数据,还允许在控制数据的统计特性(如特征之间的相关性和信息量)的同时,评估数据集规模(样本数和特征数)对算法性能的影响。此外,还可以生成合成数据,以便于在保持数据统计特性不变的情况下,研究数据规模的影响。

数据集的一般API提供了三种主要类型的数据集接口,以满足不同类型数据集的需求。首先是数据加载器,它们用于加载小型的标准数据集,这些数据集在“玩具数据集”部分有详细描述。其次是数据获取器,它们用于下载和加载较大的数据集,这些数据集在“真实世界数据集”部分有所介绍。无论是加载器还是获取器,它们都返回一个至少包含两个项目的Bunch对象:一个形状为n_samples*n_features的数组,其键为data(20newsgroups除外),以及一个长度为n_samples的numpy数组,包含目标值,其键为target。Bunch对象是一个字典,它将其键暴露为属性。有关Bunch对象的更多信息,请参阅Bunch文档。

几乎所有这些函数都可以通过设置return_X_y参数为True,将输出限制为仅包含数据和目标的元组。数据集还包含在其DESCR属性中的完整描述,一些数据集还包含feature_names和target_names。有关详细信息,请参见下面的数据集描述。

数据集生成函数用于生成受控的合成数据集,这些数据集在“生成数据集”部分有所描述。这些函数返回一个包含n_samples*n_features的numpy数组X和一个包含n_samples长度的目标y的数组的元组。此外,还有一些杂项工具用于加载其他格式或来自其他位置的数据集,这些在“加载其他数据集”部分有所描述。

玩具数据集

玩具数据集通常用于算法开发的早期阶段,因为它们规模较小,易于理解和操作。这些数据集包括:

  • 鸢尾花植物数据集
  • 糖尿病数据集
  • 手写数字识别数据集
  • Linnerrud数据集
  • 葡萄酒识别数据集
  • 威斯康星州乳腺癌(诊断)数据集

真实世界数据集

真实世界数据集通常规模较大,更接近实际应用场景,用于评估算法在复杂数据上的表现。这些数据集包括:

  • Olivetti人脸数据集
  • 20新闻组文本数据集
  • 野外标记人脸识别数据集
  • 森林覆盖类型数据集
  • RCV1数据集
  • Kddcup 99数据集
  • 加利福尼亚住房数据集
  • 物种分布数据集

生成数据集

生成数据集允许在控制数据的统计特性的同时,生成不同规模的数据集。这些数据集的生成器包括:

  • 分类和聚类生成器
  • 回归生成器
  • 流形学习生成器
  • 分解生成器

除了上述数据集外,还有一些工具可以帮助加载其他格式或来自其他位置的数据集,包括:

  • 样本图像
  • svmlight/libsvm格式的数据集
  • 从openml.org仓库下载的数据集
  • 从外部数据集加载
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485