Skip to content

Instantly share code, notes, and snippets.

@pytholabsbot1
Last active March 27, 2019 14:54
Show Gist options
  • Save pytholabsbot1/67900c435877925a3159124e5b7f614b to your computer and use it in GitHub Desktop.
Save pytholabsbot1/67900c435877925a3159124e5b7f614b to your computer and use it in GitHub Desktop.
def predict(ratings, similarity, type='user'):
if type == 'user':
mean_user_rating = ratings.mean(axis=1).reshape(-1,1)
#We use np.newaxis so that mean_user_rating has same format as ratings
ratings_diff = (ratings - mean_user_rating)
pred = mean_user_rating + similarity.dot(ratings_diff) / np.array([np.abs(similarity).sum(axis=1)]).T
elif type == 'item':
pred = ratings.dot(similarity) / np.array([np.abs(similarity).sum(axis=1)])
return pred
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment