Closed SSMK-wq closed 1 year ago
This package is designed to work with the kind of implicit feedback data you have - and I think if you train an ALS model, and use the model.recommend
function to generate recommendations you will get the functionality you are looking for.
The ALS model works by learning a embedding representation of items and users - where the embedding for each item is calculated from the embeddings of all the users that have interacted with it. This means that it will recommend items for a user based off of what other similar users have bought. If you haven't already, I would recommend reading the paper for more details.
My dataset involves customer_id, item_id and Count of purchases. Currently, am trying to build a recommendation system based on user based collaborative filtering where we suggest items to users based on their similarity in buying pattern with other users.
As I don't have any explicit rating data, we make use of the field/column "Count of purchases" as kind of confidence score which shows how many times did the user buy this item.
Therefore, I am using the Implicit python package which helps me with building recommendation system using implicit data.
However, my objective is to recommend items (that they have not bought already) to users based on their similarity with other users.
Like in netflix where movies are suggested based on movie watched/viewed pattern with other users who are similar to the target user (making them as similar users).
Like "Users like you also like/watch this movie etc"
My specific questions are as follows
a) this package does not have a specific function to provide recommendations based on the similarity between users' preferences?
b) does
model.recommend
api offer recommendations based on other similar users (like my netflix example) or it offers recommendations only based on the target users past interaction?c) I ask because, I see that the package also has
model.similar_items
which gives us list of similar items. Am I right to understand that this is the only function in this package which offers recommendations based only on the target user's past interaction?d) We also have
model.similar_users
and this gives us the list of similar users. Am I right to understand that this similarity is computed by comparing the "Count of purchases" column across all users and comes up with the similar users list? and if we would like to recommend new items to our target user based on these identified similar users, then model.recommend is the only function?Is there anyone here who can give a layman explanation of the above 3 functions? and what should I do if I would like to offer recommendations based on other similar users?