public static void main(String[] args)
        {
            DataModel model = new FileDataModel(new File(args[0]));

            int howMany = 10;

            if (args.Length > 1)
            {
                howMany = Integer.parseInt(args[1]);
            }

            System.out.println("Run Items");
            ItemSimilarity similarity  = new EuclideanDistanceSimilarity(model);
            Recommender    recommender = new GenericItemBasedRecommender(model, similarity); // Use an item-item recommender

            for (int i = 0; i < LOOPS; i++)
            {
                LoadStatistics loadStats = LoadEvaluator.runLoad(recommender, howMany);
                System.out.println(loadStats);
            }

            System.out.println("Run Users");
            UserSimilarity   userSim      = new EuclideanDistanceSimilarity(model);
            UserNeighborhood neighborhood = new NearestNUserNeighborhood(10, userSim, model);

            recommender = new GenericUserBasedRecommender(model, neighborhood, userSim);
            for (int i = 0; i < LOOPS; i++)
            {
                LoadStatistics loadStats = LoadEvaluator.runLoad(recommender, howMany);
                System.out.println(loadStats);
            }
        }
示例#2
0
        public static void main(String[] args)
        {
            DataModel model = new FileDataModel(new File(args[0]));

            int howMany = 10;
            if (args.Length > 1) {
              howMany = Integer.parseInt(args[1]);
            }

            System.out.println("Run Items");
            ItemSimilarity similarity = new EuclideanDistanceSimilarity(model);
            Recommender recommender = new GenericItemBasedRecommender(model, similarity); // Use an item-item recommender
            for (int i = 0; i < LOOPS; i++) {
              LoadStatistics loadStats = LoadEvaluator.runLoad(recommender, howMany);
              System.out.println(loadStats);
            }

            System.out.println("Run Users");
            UserSimilarity userSim = new EuclideanDistanceSimilarity(model);
            UserNeighborhood neighborhood = new NearestNUserNeighborhood(10, userSim, model);
            recommender = new GenericUserBasedRecommender(model, neighborhood, userSim);
            for (int i = 0; i < LOOPS; i++) {
              LoadStatistics loadStats = LoadEvaluator.runLoad(recommender, howMany);
              System.out.println(loadStats);
            }
        }
            public IRecommender BuildRecommender(IDataModel model)
            {
                IUserSimilarity   similarity   = new EuclideanDistanceSimilarity(model);
                IUserNeighborhood neighborhood =
                    new NearestNUserNeighborhood(10, similarity, model);

                return
                    (new GenericUserBasedRecommender(model, neighborhood, similarity));
            }
        public long[] GetNNearestNeighborsUsersRecommendations(int numNeighbours, int userId)
        {
            GenericDataModel model = GetUserBasedDataModel();

            EuclideanDistanceSimilarity similarity = new EuclideanDistanceSimilarity(
                model);

            IUserNeighborhood neighborhood = new NearestNUserNeighborhood(
                20, similarity, model);

            long[] neighbors = neighborhood.GetUserNeighborhood(userId);

            var recommender =
                new GenericUserBasedRecommender(model, neighborhood, similarity);
            var recommendedItems = recommender.Recommend(userId, 8);

            return(neighbors);
        }
        public List <int> GetRecommendations(int userId)
        {
            GenericDataModel model = GetUserBasedDataModel();

            EuclideanDistanceSimilarity similarity = new EuclideanDistanceSimilarity(
                model);

            IUserNeighborhood neighborhood = new NearestNUserNeighborhood(
                15, similarity, model);

            long[] neighbors = neighborhood.GetUserNeighborhood(userId);

            var recommender =
                new GenericUserBasedRecommender(model, neighborhood, similarity);
            var recommendedItems = recommender.Recommend(userId, 12);

            var bookIds = recommendedItems.Select(ri => (int)ri.GetItemID()).ToList();

            return(bookIds);
        }