Beispiel #1
0
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()
Beispiel #2
0
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 []