def sample_recommendation_user(model, interactions, user_id, user_dict, item_dict,threshold = 0,nrec_items = 5, show = True): n_users, n_items = interactions.shape user_x = user_dict[user_id] scores = pd.Series(model.predict(user_x,np.arange(n_items), item_features=books_metadata_csr)) scores.index = interactions.columns scores = list(pd.Series(scores.sort_values(ascending=False).index)) known_items = list(pd.Series(interactions.loc[user_id,:] \ [interactions.loc[user_id,:] > threshold].index).sort_values(ascending=False)) scores = [x for x in scores if x not in known_items] return_score_list = scores[0:nrec_items] known_items = list(pd.Series(known_items).apply(lambda x: item_dict[x])) scores = list(pd.Series(return_score_list).apply(lambda x: item_dict[x])) if show == True: print ("User: " + str(user_id)) print("Known Likes:") counter = 1 for i in known_items: print(str(counter) + '- ' + i) counter+=1 print("\n Recommended Items:") counter = 1 for i in scores: print(str(counter) + '- ' + i) counter+=1