def main(): parser = argparse.ArgumentParser() parser.add_argument('--input', '-i', help='input file (csv file)') parser.add_argument('--minsup', '-m', type=float, help='minimum support') parser.add_argument('--minconf', '-c', type=float, help='minimun confidence') parser.add_argument('--numrule', '-n', type=int, help='max number of rules output') args = parser.parse_args() db = CsvDatabase(args.input) Factory.setup_db(db) apriori = Apriori(db, args.minsup, args.minconf, args.numrule) frequent_itemsets = apriori.generate_frequent_itemset() for level in frequent_itemsets: print(level, ': ', len(frequent_itemsets[level])) for itemset in frequent_itemsets[level]: print(itemset) print('Rules:') for rule in apriori.generate_all_confidence_rules(): print(rule, '(confidence: %.4f)' % (rule.confidence))
def main(): db = CsvDatabase('test_data/zero_one.csv') Factory.setup_db(db) runtimes = [] # store runtime (in second) numrules = [] # store number of confident rules for support in np.linspace(low_support, high_support, interval): start_time = time.monotonic() apriori = Apriori(db, support, confidence, None) rules = apriori.generate_all_confidence_rules() #for rule in rules: # print(rule, ': ', rule.confidence) end_time = time.monotonic() runtimes.append(end_time - start_time) numrule = len(rules) numrules.append(numrule) print('Support %.2f, runtime %.9f, numrules %d' % (support, end_time - start_time, numrule)) graph_runtime(runtimes) graph_numrules(numrules)
def setUp(self): db = CsvDatabase( os.path.join(os.getcwd(), 'test_data/contact-lenses.csv')) Factory.setup_db(db)