dataset 模块

模块 dataset 定义了类 Dataset 和其他用于管理数据集的子类。

用户可以使用内置数据集和用户定义的数据集(有关示例,请参阅入门页面)。目前,有三个内置数据集可用

所有内置数据集都可以使用 Dataset.load_builtin() 方法加载(如果尚未下载,则会下载)。摘要

Dataset.load_builtin

加载内置数据集。

Dataset.load_from_file

从(自定义)文件加载数据集。

Dataset.load_from_folds

加载一个数据集,其中折叠(用于交叉验证)由某些文件预定义。

class surprise.dataset.Dataset(reader)[source]

加载数据集的基类。

请注意,您不应直接实例化 Dataset 类(其派生类也一样),而应使用三种可用的数据集加载方法之一。

classmethod load_builtin(name='ml-100k', prompt=True)[source]

加载内置数据集。

如果数据集尚未加载,它将被下载并保存。您需要使用 split 方法来分割数据集。请参阅用户指南中的示例。

参数:
  • name (string) – 要加载的内置数据集的名称。接受的值有 ‘ml-100k’、‘ml-1m’ 和 ‘jester’。默认值为 ‘ml-100k’。

  • prompt (bool) – 如果数据集不在磁盘上,则在下载前提示。默认值为 True。

返回:

一个 Dataset 对象。

引发:

ValueError – 如果 name 参数不正确。

classmethod load_from_df(df, reader)[source]

从 pandas dataframe 加载数据集。

如果您想使用存储在 pandas dataframe 中的自定义数据集,请使用此方法。请参阅用户指南中的示例。

参数:
  • df (Dataframe) – 包含评分的 dataframe。它必须有三列,依次对应用户(原始)ID、物品(原始)ID 和评分。

  • reader (Reader) – 用于读取文件的 reader。只需指定 rating_scale 字段即可。

classmethod load_from_file(file_path, reader)[source]

从(自定义)文件加载数据集。

如果您想使用自定义数据集并且所有评分都存储在一个文件中,请使用此方法。您需要使用 split 方法来分割数据集。请参阅用户指南中的示例。

参数:
  • file_path (string) – 包含评分的文件的路径。

  • reader (Reader) – 用于读取文件的 reader。

classmethod load_from_folds(folds_files, reader)[source]

加载一个数据集,其中折叠(用于交叉验证)由某些文件预定义。

此方法的目的是涵盖一种常见用例,即数据集已预先分割成预定义的折叠,例如 movielens-100k 数据集定义了文件 u1.base、u1.test、u2.base、u2.test 等等。当您不想执行交叉验证但仍想指定训练和测试数据时(这实际上等同于 1 折交叉验证),也可以使用此方法。请参阅用户指南中的示例。

参数:
  • folds_files (可迭代对象 of 元组) – 折叠列表。一个折叠是 (path_to_train_file, path_to_test_file) 形式的元组。

  • reader (Reader) – 用于读取文件的 reader。

class surprise.dataset.DatasetAutoFolds(ratings_file=None, reader=None, df=None)[source]

Dataset 的派生类,其折叠(用于交叉验证)未预定义。(或者用于根本没有折叠的情况)。

build_full_trainset()[source]

不将数据集分割成折叠,而是直接返回从整个数据集构建的 trainset。

用户随后可以查询预测,如用户指南中所示。

返回:

Trainset 对象。