//Rule private HashSet <Rule> GenerateRules(ItemsDictionary allFrequentItems) { var rulesList = new HashSet <Rule>(); foreach (var item in allFrequentItems) { if (item.Data.Count > 1) { IEnumerable <string> subsetsList = GenerateSubsets(item.Data); foreach (var subset in subsetsList) { string remaining = GetRemaining(subset, item.Data); Rule rule = new Rule(subset, remaining, 0); if (!rulesList.Contains(rule)) { rulesList.Add(rule); } } } } return(rulesList); }
public void InitApriori() { //init allFrequentItems = new ItemsDictionary(); candidates = new Dictionary <string, double>(); stackFrequentItems = new Dictionary <int, IList <Item> >(); transactionsCount = Program.Transactions.Count(); //get datas //Program.Items = 5 frequentItems = GetL1FrequentItems(Program.Items); candidates = GenerateCandidates(frequentItems); stackFrequentItems.Add(step, frequentItems); }