from difflib import SequenceMatcher from difflib import get_close_matches from utils.pre_processing import * from recommenders.similarity.dot_product import dot_product from recommenders.similarity.s_plus import tversky_similarity from utils.evaluator import Evaluator from utils.post_processing import * from personal.Tommaso.NLP.NLP import NLP from utils.definitions import * # Datareader dr = Datareader(mode='online', only_load=True) #ev = Evaluator(dr) # Dataframe with interactions df_train = dr.get_df_train_interactions() df_test = dr.get_df_test_interactions() df = pd.concat([df_train, df_test], axis=0, join='outer') playlists = df['pid'].as_matrix() tracks = df['tid'].as_matrix() dictionary = dr.get_track_to_artist_dict() pids = list(dr.get_train_pids()) + list(dr.get_test_pids()) # URM urm = dr.get_urm() urm = urm[pids] print(urm.shape) print('artists...')
from personal.Tommaso.Recommenders.top_pop_rec import TopPopRecommender from utils.datareader import Datareader from utils.submitter import Submitter """ This script shows how to perform correctly a submission. Basically you have to initialize a Submitter object with csv files and then call the method submit which takes in input a numpy array of recommendations of shape (10.000, 500). """ # SUBMITTER dr = Datareader(mode='online', only_load=True) sb = Submitter(dr) # TOP POP t = TopPopRecommender() t.fit(dr.get_df_train_interactions(), dr.get_df_test_interactions()) rec_list = t.make_recommendation(dr.get_df_test_playlists()['pid'].as_matrix()) # SUBMISSION # rec_list is an ordered list of recommendations # This submission will be rejected due to duplicates occurrences. sb.submit(recommendation_list=rec_list, name='top_pop', track='main', verify=True, gzipped=False)