Esempio n. 1
0
        //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);
        }
Esempio n. 2
0
        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);
        }