private static void CategorizeMeal(Recipe recipe, CategorizationResult result, Analyzer analyzer) { IRecipeClassification trainedRecipe; if (analyzer.CheckIfTrained(recipe.Id, out trainedRecipe)) { result.MealBreakfast = trainedRecipe.IsBreakfast; result.MealLunch = trainedRecipe.IsLunch; result.MealDinner = trainedRecipe.IsDinner; result.MealDessert = trainedRecipe.IsDessert; } else { var analysis = analyzer.GetPrediction(recipe); result.MealBreakfast = analysis.FirstPlace.Equals(Category.Breakfast) || analysis.SecondPlace.Equals(Category.Breakfast); result.MealLunch = analysis.FirstPlace.Equals(Category.Lunch) || analysis.SecondPlace.Equals(Category.Lunch); result.MealDinner = analysis.FirstPlace.Equals(Category.Dinner) || analysis.SecondPlace.Equals(Category.Dinner); result.MealDessert = analysis.FirstPlace.Equals(Category.Dessert) || analysis.SecondPlace.Equals(Category.Dessert); } }
public CategorizationEngine(IDBLoader loader) { this.analyzer = new Analyzer(); this.commonIngredients = ( from i in loader.LoadCommonIngredients() select i) .ToDictionary(k => k.IngredientId); this.analyzer.LoadTrainingData(loader); }