コード例 #1
0
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...')
コード例 #2
0
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)