示例#1
0
        /**********************************************************
        * Experiment 1
        *
        * This experiment is to evaluate the top-N recommendation
        * performance of NMF on MovieLens 20M data set with default
        * factor count = 50
        * However, the Given data size is varied from 30, 40, 50, 60
        * Repeat ten times
        * ********************************************************/
        public static void NMFonMovieLens100K()
        {
            for (int seed = 1; seed <= 10; seed++)
            {
                foreach (int givenSize in GivenSizes)
                {
                    ExperimentEngine experiment = new ExperimentEngine(
                        MovieLens20MFile,
                        givenSize + minTestSize,
                        maxCountOfRatings,
                        givenSize,
                        shuffle,
                        seed,
                        relevantCriteria,
                        neighborCount,
                        seed * 0.1);

                    string log = experiment.RunNMF(defaultMaxEpoch, defaultLearnRate, defaultRegularization, factorCount, topN);
                    using (StreamWriter w = File.AppendText("NMFonMovieLens100K_Log.txt"))
                    {
                        w.WriteLine("=========================================" + seed + "/" + givenSize);
                        w.WriteLine(log);
                    }
                }
            }
        }
示例#2
0
        /**********************************************************
         * Experiment 1
         * 
         * This experiment is to evaluate the top-N recommendation 
         * performance of NMF on MovieLens 20M data set with default 
         * factor count = 50
         * However, the Given data size is varied from 30, 40, 50, 60
         * Repeat ten times
         * ********************************************************/
        public static void NMFonMovieLens100K()
        {
            for(int seed = 1; seed <= 10;  seed++)
            {
                foreach(int givenSize in GivenSizes)
                {

                    ExperimentEngine experiment = new ExperimentEngine(
                        MovieLens20MFile,
                        givenSize + minTestSize,
                        maxCountOfRatings,
                        givenSize,
                        shuffle,
                        seed,
                        relevantCriteria,
                        neighborCount,
                        seed * 0.1);

                    string log = experiment.RunNMF(defaultMaxEpoch, defaultLearnRate, defaultRegularization, factorCount, topN);
                    using (StreamWriter w = File.AppendText("NMFonMovieLens100K_Log.txt"))
                    {
                        w.WriteLine("=========================================" + seed + "/" + givenSize);
                        w.WriteLine(log);
                    }
                }
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            //ExperimentOfSpeed.SpeedOfAccessRandomElement();
            Control.UseMultiThreading();
            //CIKMExpDesign.NMFonMovieLens20M();
            ExperimentEngine aExperiment = new ExperimentEngine("MovieLens100K.data", 60, 500, 50, true, 1, 5.0, 200, 0.2);
            aExperiment.GetReadyForOrdinal();
            aExperiment.GetReadyForNumerical();
            aExperiment.GetReadyAll();
            //aExperiment.RunPrefNMF(50, 0.001, 0.001, 0.0005, 50, 10);
            //aExperiment.RunPrefNMFbasedOMF(50, 0.001, 0.001, 0.0005, 50, Config.Preferences.quantizerThree, 10);
            aExperiment.RunPrefMRF(0.1, 0.01, 300, Config.Preferences.quantizerThree, 10);

            aExperiment.RunNMF(100, 0.1, 0.15, 50, 10);
            aExperiment.RunNMFbasedOMF(100, 0.1, 0.15, 50, Config.Preferences.quantizerFive, 10);
            aExperiment.RunNMFbasedORF(0.05, 0.01, 100, Config.Preferences.quantizerFive, 10);

            aExperiment.RunGlobalMean();
            aExperiment.RunMostPopular(10);
            aExperiment.RunUserKNN(10);
            aExperiment.RunPrefKNN(10);

            Utils.Pause();

            //Utils.RemoveColdUsers(70, "MovieLens20M.data");

            Utils.Pause();
        }