Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            KMeans km = new KMeans();

            int nItemsCount = km.LoadItemsFromFile(FileNames.MoviesFile);

            Dictionary <string, List <string> > usersAndTheirSeenMovies = new Dictionary <string, List <string> >();

            usersAndTheirSeenMovies = FileNames.LoadUserDataFromFile(FileNames.UsersMovies);

            var user = ReadUserForRecommendation(usersAndTheirSeenMovies);

            var seenMovies = usersAndTheirSeenMovies[user];

            IClustersList obtainedClusters = new IClustersList();

            obtainedClusters = ComputeClustering(km, FileNames.GenresFile, nItemsCount, "Enter the number of movies per genre");

            File.Delete(FileNames.RecommendedMovies);
            RecommendMoviesBasedOnClusters(seenMovies, obtainedClusters);

            km          = new KMeans();
            nItemsCount = km.LoadItemsFromFile(FileNames.RecommendedMovies);
            var newObtainedClusters = ComputeClustering(km, FileNames.RankingFile, nItemsCount, "Enter the number of movies per rank");

            RecommendMoviesBasedOnClusters(seenMovies, newObtainedClusters, true);

            Console.Read();
        }