usage = "usage: %prog [options] filename"
    parser = OptionParser(usage)
    parser.add_option("-d", "--debug",
                      action="store_true", dest="debug")

    (options, args) = parser.parse_args()

    if len(args) != 3:
        parser.error("You must give the filename, label support symbol, and minimum support.")

    print "Mining from file %s..." % args[0]
    print "Using label support symbol %s..." % args[1]
    print "Using support of %s..." % args[2]
    database = TransactionDatabase.loadFromFile(args[0],args[1],int(float(args[2])))

    miner = DDPMine(debug=False)
    miner.mine(database,int(float(args[2])))

    """
    database = TransactionDatabase.loadFromFile("test.csv")
    database.cleanAndPrune(2)
    print "Cleaned database:"
    print database
    print "\nItems in FP tree and corresponding nodes:"
    tree = FPTree()
    for t in database:
        tree.add(t)

    print str(tree)
    #run_ddpmine()
    """
def run_ddpmine():
    # Just some placeholder data
    miner = DDPMine(["a", "b"])
    miner.mine()
Example #3
0
    database = TransactionDatabase.loadFromFile("./data/train_adt.csv", ['97'],
                                                100)
    data = TransactionDatabase.loadFromFile("./data/train_adt.csv", ['97'], 1)
    data1 = TransactionDatabase.loadFromFile("./data/test_adt.csv", ['97'], 1)
    # database.cleanAndPrune(2)
    # print ("Cleaned database:")
    # for transaction in database.transactions:
    #     print(str(transaction.label))
    # print ("\nItems in FP tree and corresponding nodes:")
    tree = FPTree()
    for t in database:
        tree.add(t)

    # print(str(tree))
    miner = DDPMine(debug=True)
    start = time.clock()
    Pt = miner.mine(database, 100)
    elapsed = time.clock() - start
    print("Time Total:%f" % elapsed)
    print(Pt)
    for row in Pt:
        print("Pattern:%s  label:%s" % (row[0], row[1]))

    for row in Pt:
        lb1 = 0
        lb2 = 0
        for transaction in data.transactions:
            if set(row[0]).issubset(set(transaction.itemset)):

                if transaction.label == "96":