Exemple #1
0
        public override void Run(MiningOptions options)
        {
            _options         = options;
            _frequentItemset = new List <Itemset>();

            ScanDbForFrequentItems();
            ScanDbForConstructingFpTree();

            MinePatternsFromFpTreeRecursive(_fpTree);
        }
Exemple #2
0
        public override void Run(MiningOptions options)
        {
            _options = options;

            _frequentItemset = new List <Itemset>();

            // Finds frequent 1-itemset by scanning entire database.
            Itemset[] frequentItemsetFromPreviousStep = ScanDbForFrequentItems();

            while (frequentItemsetFromPreviousStep.Length > 0)
            {
                _frequentItemset.AddRange(frequentItemsetFromPreviousStep);

                // Generates candidates (k+1)-itemsets from frequent k-itemsets.
                UInt32[][] candidates = GenerateCandidatesSlim(frequentItemsetFromPreviousStep);

                Itemset[] prunedCandidates = PruneCandidatesByAprioriSlim(candidates, frequentItemsetFromPreviousStep);

                Itemset[] candidatesWithSupport = ScanDbAndCountCandidatesSupport(prunedCandidates);

                frequentItemsetFromPreviousStep = RemoveUnfrequentCandidates(candidatesWithSupport);
            }
        }