def get_most_popular(self): MostPopular( train_file=self.train_file, test_file=self.test_file, output_file=self.output_file, rank_length=self.rank_length, sep=self.sep, output_sep=self.output_sep).compute(verbose_evaluation=False)
def generate_recommendation(self): self.ranking = [] for n, train_file in enumerate(self.gb_train_files): if self.recommender == 'UserKNN': rec = UserKNN(train_file=train_file, similarity_metric=self.similarity_metric, as_binary=True, as_similar_first=False) rec.compute(verbose=False, verbose_evaluation=False) self.ranking += rec.ranking elif self.recommender == 'ItemKNN': rec = ItemKNN(train_file=train_file, test_file=self.test_file, similarity_metric=self.similarity_metric, as_binary=True) rec.compute(verbose=False, verbose_evaluation=False) self.ranking += rec.ranking elif self.recommender == 'MostPopular': rec = MostPopular(train_file=train_file, test_file=self.test_file, as_binary=True) rec.compute(verbose=False, verbose_evaluation=False) self.ranking += rec.ranking elif self.recommender == 'BPRMF': rec = BprMF(train_file=train_file, test_file=self.test_file, batch_size=4) rec.compute(verbose=False, verbose_evaluation=False) self.ranking += rec.ranking else: raise ValueError( 'Error: Recommender not implemented or not exist!') self.ranking = sorted(self.ranking, key=lambda x: (x[0], -x[2]))
""" Running Most Popular Recommender [Item Recommendation] - Cross Validation - Simple """ from caserec.recommenders.item_recommendation.most_popular import MostPopular from caserec.utils.cross_validation import CrossValidation db = '../../../datasets/ml-1m/ratings.csv' folds_path = '../../../datasets/ml-1m/' tr = '../../../datasets/ml-1m/folds/0/train.dat' te = '../../../datasets/ml-1m/folds/0/test.dat' # Cross Validation recommender = MostPopular(as_binary=True) CrossValidation(input_file=db, recommender=recommender, dir_folds=folds_path, header=1, k_folds=5).compute() # Simple MostPopular(tr, te, as_binary=True).compute()
from caserec.recommenders.item_recommendation.itemknn import ItemKNN from caserec.recommenders.item_recommendation.most_popular import MostPopular from caserec.utils.cross_validation import CrossValidation db = 'u.data' folds_path = '' metrics = ('PREC', 'RECALL', 'NDCG', 'MAP') recommender = ItemKNN() CrossValidation(input_file=db, recommender=recommender, dir_folds=folds_path, header=1, k_folds=5).compute(metrics=metrics) recommender = MostPopular() CrossValidation(input_file=db, recommender=recommender, dir_folds=folds_path, header=1, k_folds=5).compute(metrics=metrics)