我有一个稀疏矩阵sparse,其中1100列对应于产品,130k多行对应于用户。在这个稀疏矩阵中,值是1或NA,其中1对应于“购买”,NA对应于“不购买”。
我将这个矩阵转换为realRatingMatrix,并尝试以这种方式构建一个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))虽然构建项目-项目相似度矩阵可能需要更多时间,但它花费这么多时间是正常的吗?还是我在代码或方法上做错了什么(比如,我是否应该将其转换为binaryRatingMatrix或使用不同的参数?)
发布于 2020-10-15 21:41:27
余弦距离目前是在密集矩阵上计算的(希望有一天会添加稀疏实现)。我认为创建完整的矩阵,然后计算距离需要很长时间。
你有没有试过小一点的样品?可能是1,000或10000行?
https://stackoverflow.com/questions/59045593
复制相似问题