Пример #1
0
 private void checkMaxUsers(RecommenderSystem rs, int min, int max, List <RecommenderSystem.PredictionMethod> lMethods)
 {
     for (int i = min; i <= max; i++)
     {
         rs.SetMaxUsers(i);
         var tmp = rs.ComputeHitRatio(lMethods, 0.95);
         foreach (var item in tmp)
         {
             update(item.Key, item.Value, i, "Max Users");
         }
     }
 }
Пример #2
0
 private void checkSimilarity(RecommenderSystem rs, int min_minSimilarity, int max_minSimilarity, List <RecommenderSystem.PredictionMethod> lMethods)
 {
     for (int i = min_minSimilarity; i <= max_minSimilarity; i++)
     {
         double value = (double)i / 100.0;
         rs.SetSimilaritySaf(value);
         var tmp = rs.ComputeHitRatio(lMethods, 0.95);
         foreach (var item in tmp)
         {
             update(item.Key, item.Value, value, "similarity");
         }
     }
 }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rs"></param>
        /// <param name="min_minSimilarity">in percents</param>
        /// <param name="max_minSimilarity">in percents</param>
        /// <param name="minMaxSimilarUsers"></param>
        /// <param name="maxMaxSimilarUsers"></param>
        public Dictionary <string, TestData> Run(RecommenderSystem rs, int min_minSimilarity, int max_minSimilarity, int minMaxSimilarUsers, int maxMaxSimilarUsers)
        {
            _res.Clear();
            List <RecommenderSystem.PredictionMethod> lMethods = new List <RecommenderSystem.PredictionMethod>();

            lMethods.Add(RecommenderSystem.PredictionMethod.Pearson);
            lMethods.Add(RecommenderSystem.PredictionMethod.Cosine);

            checkSimilarity(rs, min_minSimilarity, max_minSimilarity, lMethods);
            checkMaxUsers(rs, minMaxSimilarUsers, maxMaxSimilarUsers, lMethods);

            return(_res);
        }
        public List <Product> RecommendedProducts(int id)
        {
            RecommenderSystem recommender = new RecommenderSystem();

            List <Product> recommendedProducts = recommender.GetRecommendedProducts(id);

            foreach (var item in recommendedProducts)
            {
                item.Picture = null;
            }


            return(recommendedProducts);
        }
Пример #5
0
        public IHttpActionResult Preporuka(int userId)
        {
            RecommenderSystem rc = new RecommenderSystem();

            List <int> p = rc.GetRecomended(userId).Select(x => x.Key).ToList();

            foreach (var proizvodId in p)
            {
                if (!_db.GotoviProizvod.Find(proizvodId).VidljivostMobile)
                {
                    p.Remove(proizvodId);
                }
            }

            return(Ok(p));
        }
Пример #6
0
        static void Main(string[] args)
        {
            string resultModel;

            do
            {
                Console.WriteLine("Which model would you like to execute? (1 = CF , 2 = Content Model)");
                resultModel = Console.ReadLine();
                if (resultModel != "1" && resultModel != "2")
                {
                    Console.WriteLine("Please choose '1' or '2' only");
                }
            } while (resultModel != "1" && resultModel != "2");

            string latentFeatures;
            int    latentFeatureNumber = 0;
            bool   validNumber         = true;

            do
            {
                Console.WriteLine("How Many latent features?");
                latentFeatures = Console.ReadLine();
                try
                {
                    latentFeatureNumber = Convert.ToInt32(latentFeatures);
                    if (latentFeatureNumber <= 0)
                    {
                        validNumber = false;
                        Console.WriteLine("Please Enter positive number.");
                    }
                }
                catch (Exception)
                {
                    validNumber = false;
                    Console.WriteLine("Insert positive number");
                }
            } while (validNumber == false);


            m_recommenderSystem = new RecommenderSystem(latentFeatureNumber, resultModel == "1"?true:false);
        }