Skip to content

Commit

Permalink
Create collaborative_filtering.py
Browse files Browse the repository at this point in the history
  • Loading branch information
sv410 authored Oct 9, 2024
1 parent 80402b3 commit fa761c5
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions collaborative_filtering.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from surprise import Dataset, Reader, SVD
from surprise.model_selection import train_test_split, accuracy

# Load data from database
data = cursor.execute('SELECT user_id, item_id, interaction_type FROM user_interactions').fetchall()

# Convert to Surprise dataset
reader = Reader(rating_scale=(1, 5))
dataset = Dataset.load_from_df(pd.DataFrame(data, columns=['user_id', 'item_id', 'interaction_type']), reader)

# Train-test split
trainset, testset = train_test_split(dataset, test_size=0.25)

# Train model
algo = SVD()
algo.fit(trainset)

# Test model
predictions = algo.test(testset)
accuracy.rmse(predictions)

0 comments on commit fa761c5

Please sign in to comment.