From a8df7a690611ef89a70ba9cf712a3ffe029bb794 Mon Sep 17 00:00:00 2001 From: srivani vinnakota <164530944+sv410@users.noreply.github.com> Date: Tue, 8 Oct 2024 23:22:27 +0530 Subject: [PATCH] Create recommendation.py --- recommendation.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 recommendation.py diff --git a/recommendation.py b/recommendation.py new file mode 100644 index 00000000..355064f6 --- /dev/null +++ b/recommendation.py @@ -0,0 +1,27 @@ +import pandas as pd +from sklearn.metrics.pairwise import cosine_similarity +import numpy as np + +def load_data(): + # Load interaction data + data = pd.read_csv('user_interactions.csv') + return data + +def build_model(data): + # Create user-item interaction matrix + user_item_matrix = data.pivot_table(index='user_id', columns='item_id', values='interaction', aggfunc='count', fill_value=0) + + # Compute cosine similarity between users + user_similarity = cosine_similarity(user_item_matrix) + + return user_item_matrix, user_similarity + +def recommend_items(user_id, user_item_matrix, user_similarity, num_recommendations=5): + user_idx = user_item_matrix.index.get_loc(user_id) + similar_users = list(enumerate(user_similarity[user_idx])) + similar_users = sorted(similar_users, key=lambda x: x[1], reverse=True) + + recommendations = [] + for user, score in similar_users: + if user != user_idx: + similar_user_items = user_item_matrix.iloc