public override void Run(MiningOptions options) { _options = options; _frequentItemset = new List <Itemset>(); ScanDbForFrequentItems(); ScanDbForConstructingFpTree(); MinePatternsFromFpTreeRecursive(_fpTree); }
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); } }