コード例 #1
0
ファイル: main.py プロジェクト: panaka13/apriori
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))
コード例 #2
0
ファイル: benchmark.py プロジェクト: panaka13/apriori
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)
コード例 #3
0
 def setUp(self):
     db = CsvDatabase(
         os.path.join(os.getcwd(), 'test_data/contact-lenses.csv'))
     Factory.setup_db(db)