from utils.datareader import Datareader
import scipy.sparse as sps
import sys
from utils.definitions import ROOT_DIR

arg = sys.argv[1:]
mode = arg[0]

dr = Datareader(verbose=False, mode=mode, only_load=True)
top_pop = dr.get_eurm_top_pop(top_pop_k=750, remove_duplicates=True, binary=True)
sps.save_npz(ROOT_DIR+"/recommenders/script/main/"+mode+"_npz/top_pop.npz", top_pop)
Пример #2
0
        ucm = sparse.csr_matrix((data, (rows, cols)),
                                shape=(max(self.playlists) + 1,
                                       len(list(self.title_to_idx.keys()))))

        return ucm


if __name__ == '__main__':

    datareader = Datareader(mode='offline', only_load=True)
    evaluator = Evaluator(datareader)

    nlp_lele = sparse.load_npz(ROOT_DIR +
                               '/data/ensemble/nlp_eurm_offline_bm25.npz')
    nlp_strict = sparse.load_npz(ROOT_DIR + '/data/eurm_nlp_strict.npz')
    top_pop = datareader.get_eurm_top_pop()

    top_pop = norm_l1_row(top_pop)
    nlp_lele = norm_l1_row(nlp_lele)
    nlp_strict = norm_l1_row(nlp_strict)

    nlp_fusion = (nlp_lele * 0.6) + (nlp_strict * 0.4)
    sparse.save_npz(ROOT_DIR + '/data/eurm_nlp_fusion_offline.npz', nlp_fusion)
    evaluator.evaluate(eurm_to_recommendation_list(nlp_fusion,
                                                   datareader=datareader),
                       name='nlp_fusion_no_toppop')

    for a in [0.50, 0.55, 0.60, 0.65, 0.70]:
        for b in [0.10, 0.15]:
            nlp_fusion = (nlp_lele * a) + (nlp_strict *
                                           (1.0 - a)) + (b * top_pop)