У меня есть 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? Было бы лучше экспортировать матрицу рейтингов для ВСЕХ компаний, а затем прогнозировать рейтинги на ее основе?
Спасибо.