Tech Jobs Hub
21.5K subscribers
802 photos
13 videos
26 files
995 links
Jobs is your go-to channel for the latest job opportunities in Data Science, Programming, Web Development, Design, and more.

We bring you handpicked job listings, career tips, and resources to help you learn, grow, and land your dream role.
Download Telegram
How can you implement a basic recommendation system in Python using collaborative filtering and content-based filtering to suggest items based on user preferences? Provide a simple code example demonstrating how to calculate similarity between users or items, generate recommendations, and handle new user data.

import numpy as np
from sklearn.metrics.pairwise import cosine_similarity

# Sample user-item interaction matrix (rows: users, cols: items)
ratings = np.array([
[5, 3, 0, 1, 4],
[4, 0, 0, 1, 2],
[1, 1, 0, 5, 1],
[1, 0, 0, 5, 4]
])

# Simulated item features (e.g., genre, category)
item_features = {
0: ["action", "adventure"],
1: ["drama", "romance"],
2: ["comedy", "fantasy"],
3: ["action", "sci-fi"],
4: ["drama", "thriller"]
}

def get_user_similarity(user_id, ratings):
"""Calculate similarity between users using cosine similarity."""
return cosine_similarity(ratings[user_id].reshape(1, -1), ratings)[0]

def get_item_similarity(item_id, ratings):
"""Calculate similarity between items."""
return cosine_similarity(ratings.T[item_id].reshape(1, -1), ratings.T)[0]

def recommend_items(user_id, ratings, item_features):
"""Generate recommendations for a user."""
# Collaborative filtering: find similar users
similarities = get_user_similarity(user_id, ratings)
similar_users = np.argsort(similarities)[-3:] # Top 3 similar users

# Get items liked by similar users but not by current user
recommended_items = set()
for u in similar_users:
if u != user_id:
for i in range(len(ratings[u])):
if ratings[u][i] > 0 and ratings[user_id][i] == 0:
recommended_items.add(i)

# Content-based filtering: recommend similar items
user_likes = []
for i in range(len(ratings[user_id])):
if ratings[user_id][i] > 0:
user_likes.extend(item_features[i])

for item_id, features in item_features.items():
if item_id not in recommended_items:
common = len(set(user_likes) & set(features))
if common > 0:
recommended_items.add(item_id)

return list(recommended_items)

# Example usage
print("Recommendations for user 0:", recommend_items(0, ratings, item_features))


#AI #RecommendationSystem #CollaborativeFiltering #ContentBasedFiltering #MachineLearning #Python #BeginnerAI #UserPreferences #SimpleAlgorithm #BasicML

By: @DataScienceQ 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
3