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"); } } }
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"); } } }
/// <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); }
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)); }
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); }