public AnalyzeEngine(bool tf) { categoryPoints = new ConcurrentDictionary <string, double>(); this.Categorie = CheckinOperations.getCategorie(); pCategories = CheckinOperations.getPlaceCategories(); likeCategories = CheckinOperations.listLikeCategories(); }
public RecommendationEngine() { categories = CheckinOperations.getCategorie(); places = CheckinOperations.getPlaces(); pCategories = CheckinOperations.getPlaceCategories(); aEng = new AnalyzeEngine(); }
/// <summary> /// Thresholds /// </summary> /// <param name="Popularity"></param> /// <param name="CategoryQuality"></param> public Engine(double Popularity, double CategoryQuality) { PopularityThreshold = Popularity; CategoryQualityThreshold = CategoryQuality; places = CheckinOperations.getPlaces().ToList(); placeCategories = CheckinOperations.getPlaceCategories(); CATEGORIES = CheckinOperations.getCategorie(); UserCheckins = CheckinOperations.listCheckIns(); checkinUser = CheckinOperations.listCheckInsReturnedUser(); }
public string GenerateData(string arff) { string data = "@data\n"; var userList = CheckinOperations.getUsers(); List <ArffData> datas = new List <ArffData>(); foreach (var user in userList) { ArffData d = new ArffData(); d.Name = user.USERNAME; d.Categorie = getDefaultData(); var checkins = CheckinOperations.getCheckIns(user.USERID); foreach (var checkin in checkins) { var categories = CheckinOperations.getPlaceCategories(checkin.PLACEID.Value); foreach (var catPlace in categories) { var cat = CheckinOperations.getCategory(catPlace.CATEGORIEID.Value); d.Categorie[cat.NAME] += 1; } } d.CheckinCount = checkins.Count; datas.Add(d); } foreach (var d in datas) { string row = string.Empty; row += d.Name + ","; foreach (var cat in d.Categorie) { if (cat.Value == 0) { row += cat.Value.ToString().Replace(",", ".") + ","; } else { float result = ((float)cat.Value) / (float)d.CheckinCount; row += result.ToString().Replace(",", ".") + ","; } } row = row.Substring(0, row.Length - 1); data += row + "\n"; } arff = arff.Replace("@DATA", data + "\n\n"); return(arff); }
public void _Load() { categoryPoints = new ConcurrentDictionary <string, double>(); this.Categorie = CheckinOperations.getCategorie(); Engine eng = new Engine(popularityThreshold, CategoryQualityThreshold); List <string> list_lines = new List <string>(); Parallel.ForEach(Categorie, (cat) => { var catPoint = eng.getCategoryPoint(cat.CATEGORIEID); categoryPoints.AddOrUpdate(cat.NAME, catPoint, (key, oldvalue) => oldvalue + catPoint); }); pCategories = CheckinOperations.getPlaceCategories(); likeCategories = CheckinOperations.listLikeCategories(); //var catPoint = eng.getCategoryPoint(896); //categoryPoints.AddOrUpdate("Amphitheater", catPoint, (key, oldvalue) => oldvalue + catPoint); }