0

我有一个稀疏矩阵sparse,其中 1100 列对应于产品,超过 130k 行对应于用户。此稀疏矩阵中的值为 1 或 NA,其中 1 对应于“购买”,NA 对应于“不购买”。

我将此矩阵转换为 arealRatingMatrix并尝试以这种方式构建 IBCF 模型:

item_rec <- Recommender(sparse[1:nrow(sparse)],method="IBCF", 
                        param=list(method="Cosine",k=30, normalize_sim_matrix = F,
                                   alpha = 0.5, na_as_zero = F))

这个命令已经运行了几个小时,而另一个带有UBCF方法的模型在几秒钟内完成:

rec <- Recommender(sparse[1:nrow(sparse)],method="UBCF", 
                   param=list(method="Cosine",nn=5, minRating=1))

虽然项目-项目相似度矩阵可能需要更多时间来构建,但花费这么多时间是正常的,还是我的代码或我的方法有问题(比如,我应该将其转换为 abinaryRatingMatrix还是使用不同的参数? )

4

1 回答 1

0

余弦距离现在是在密集矩阵上计算的(希望有一天会添加稀疏实现)。我认为创建完整矩阵然后计算距离需要很长时间。

您是否尝试过较小的样本?也许 1000 或 10000 行?

于 2020-10-15T13:41:27.023 回答