def BuildRecModel(): np.random.seed(0) random.seed(0) # Load up common data set for the recommender algorithms (evaluationData, rankings) = LoadData() # Construct an Evaluator to, you know, evaluate them evaluator = Evaluator(evaluationData, rankings) hotelKNNAlgorithm = HotelKNNAlgorithm() log.info('Algorithm=K-Nearest Neighbour') evaluator.SetAlgorithm(hotelKNNAlgorithm, 'HotelKNNAlgorithm') evaluator.Evaluate(False) evaluator.TrainAndSaveAlgorithm()
def GetRecommendations(user, k, lat, lon): np.random.seed(0) random.seed(0) # Load up common data set for the recommender algorithms (evaluationData, rankings) = LoadDataForLocation(lat, lon, user) if (evaluationData.size > 100): # Construct an Evaluator to, you know, evaluate them reader = Reader(rating_scale=(0, 3)) filteredData = Dataset.load_from_df(evaluationData, reader=reader) evaluator = Evaluator(filteredData, rankings) hotelKNNAlgorithm = HotelKNNAlgorithm() evaluator.SetAlgorithm(hotelKNNAlgorithm, 'HotelKNNAlgorithm') return evaluator.GetTopNRecs(user, k) else: log.error('Not enough hotel in range') return []