我的培训数据库中有 3 个集合——用户、企业和评论。我想使用斜率一来预测其他项目的评级,但我不确定如何最好地从 MongoDB 收集企业之间的评级差异。
我在评论集合中有 200,000 个评分,我只想比较具有共享类别的企业。因此,我找到了所有对这些类别下的企业进行评论的用户。
business = businesses.find({'categories':{"$in" : business_categories}},{'business_id'})
for biz in all_businesses:
biz_list.append(biz['business_id'])
reviews = training_reviews.find({'business_id':{"$in" : biz_list}})
for review in reviews:
review_list.append(review['user_id'])
available_users = users.find({'user_id':{"$in": review_list}})
一旦我有了我的用户,我需要建立一个包含他们所有评分的矩阵,这样我就可以计算每个企业之间的差异。我的最小尺寸矩阵将是 10k x 10k,并且因为我将为我提出的每个建议都有几个类别,所以我必须为每个建议重做它。
在python中有没有一种有效的方法来做到这一点?导出所有企业的评级矩阵然后从中预测评级会更好吗?
谢谢。