My dataset involves customer_id, item_id and Count of purchases. My datset size is small...we have 15 users and 317 items..

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. I also try simple approaches like cosine similarity etc due to data size

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 here 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 (making them as similar users).

Like "Users like you also like/watch this movie etc"

My specific questions are as follows

a) Doesn't this package 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 on 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 would like to recommend new items to our target user based on these identified similar users, then model.recommend is the only function?

e) does it make sense to random train test split for recommendation problems? Or we should split by users or items?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.