У меня есть 3 коллекции в моей учебной базе данных - Пользователи, предприятия и обзоры. Я хотел бы прогнозировать оценки для других предметов с использованием склона один, но я не уверен, как лучше всего собирать дифференциалы рейтинга от MongoDB между предприятиями.Расчет Склона Один дифференциал от MongoDB
У меня есть 200 000 оценок в коллекции Review, и я хотел бы сравнить только предприятия, которые имеют общую категорию. Таким образом, я нахожу всех пользователей, которые имеют обзоры для предприятий в этих категориях.
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? Было бы лучше экспортировать рейтинговую матрицу для ВСЕХ предприятий, а затем прогнозировать рейтинги?
Спасибо.