Trainset 类

class surprise.Trainset(ur, ir, n_users, n_items, n_ratings, rating_scale, raw2inner_id_users, raw2inner_id_items)[source]

训练集包含构成训练集的所有有用数据。

每个预测算法的fit()方法都使用它。您不应该尝试自己构建此类对象,而是使用Dataset.folds()方法或DatasetAutoFolds.build_full_trainset()方法。

训练集与数据集不同。您可以将数据集视为原始数据,而训练集则是在其中定义了有用方法的高级数据。此外,一个数据集可能包含多个训练集(例如,进行交叉验证时)。

ur

用户的评分。这是一个字典,其中包含形如(item_inner_id, rating)的元组列表。键是用户的内部 ID。

类型:

defaultdict of list

ir

物品的评分。这是一个字典,其中包含形如(user_inner_id, rating)的元组列表。键是物品的内部 ID。

类型:

defaultdict of list

n_users

用户总数 \(|U|\)

n_items

物品总数 \(|I|\)

n_ratings

评分总数 \(|R_{train}|\)

rating_scale

评分范围的最小值和最大值。

类型:

元组

global_mean

所有评分的均值 \(\mu\)

all_items()[source]

用于迭代所有物品的生成器函数。

返回:

物品的内部 ID。

all_ratings()[source]

用于迭代所有评分的生成器函数。

返回:

形如 (uid, iid, rating) 的元组,其中 ID 是内部 ID(请参阅此说明)。

all_users()[source]

用于迭代所有用户的生成器函数。

返回:

用户的内部 ID。

build_anti_testset(fill=None)[source]

返回一个评分列表,该列表可在test()方法中用作测试集。

这些评分是在训练集中的所有评分,即用户\(u\)已知,物品\(i\)已知,但评分\(r_{ui}\)不在训练集中的所有评分\(r_{ui}\)。由于\(r_{ui}\)未知,它要么被替换为fill值,要么假定等于所有评分的均值global_mean

参数:

fill (float) – 用于填充未知评分的值。如果为None,将使用所有评分的全局均值global_mean

返回:

形如 (uid, iid, fill) 的元组列表,其中 ID 是原始 ID。

build_testset()[source]

返回一个评分列表,该列表可在test()方法中用作测试集。

这些评分是训练集中的所有评分,即all_ratings()生成器返回的所有评分。这在您想要在训练集上测试算法的情况下非常有用。

knows_item(iid)[source]

指示物品是否属于训练集。

如果物品至少被评分一次,则认为该物品属于训练集。

参数:

iid (int) – (内部)物品 ID。请参阅此说明

返回:

如果物品属于训练集,则为True,否则为False

knows_user(uid)[source]

指示用户是否属于训练集。

如果用户至少有一个评分,则认为该用户属于训练集。

参数:

uid (int) – (内部)用户 ID。请参阅此说明

返回:

如果用户属于训练集,则为True,否则为False

to_inner_iid(riid)[source]

物品原始 ID 转换为内部 ID。

请参阅此说明

参数:

riid (str) – 物品原始 ID。

返回:

物品内部 ID。

返回类型:

int

抛出异常:

ValueError – 当物品不属于训练集时。

to_inner_uid(ruid)[source]

用户原始 ID 转换为内部 ID。

请参阅此说明

参数:

ruid (str) – 用户原始 ID。

返回:

用户内部 ID。

返回类型:

int

抛出异常:

ValueError – 当用户不属于训练集时。

to_raw_iid(iiid)[source]

物品内部 ID 转换为原始 ID。

请参阅此说明

参数:

iiid (int) – 物品内部 ID。

返回:

物品原始 ID。

返回类型:

str

抛出异常:

ValueError – 当iiid不是内部 ID 时。

to_raw_uid(iuid)[source]

用户内部 ID 转换为原始 ID。

请参阅此说明

参数:

iuid (int) – 用户内部 ID。

返回:

用户原始 ID。

返回类型:

str

抛出异常:

ValueError – 当iuid不是内部 ID 时。