示例#1
0
    for i in range(test_length):
        #if rank_result[i] == test_label[i]:
        if not (rank_result[i] ^ test_label[i]):
            num_hits += 1

    acc_list.append(float(num_hits) / float(test_length))

#Bloom Wisard
btuple_list = [2, 4, 8, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 40, 56]
bacc_list = []
#capacity = len(train_bin)
capacity = 50
print capacity
for t in btuple_list:
    bwisard = wnn.BloomWisard(entry_size, t, num_classes, capacity)
    bwisard.train(train_bin, train_label)
    rank_result = bwisard.rank(test_bin)

    num_hits = 0

    for i in range(test_length):
        #if rank_result[i] == test_label[i]:
        if not (rank_result[i] ^ test_label[i]):
            num_hits += 1

    bacc_list.append(float(num_hits) / float(test_length))

print "Tuples=", tuple_list
print "Wisard Accuracy=", acc_list
print "Tuples=", btuple_list
示例#2
0
b_stats = []
b_training_time = []
b_testing_time = []
b_acc = []
b_error = []

for e in range(len(errors)):
    btraining_time = []
    btesting_time = []
    bacc_list = []

    for r in range(num_runs):
        bwisard = wnn.BloomWisard(entry_size,
                                  tuple_bit,
                                  num_classes,
                                  capacity,
                                  error=errors[e])

        #Training
        start = timer()
        bwisard.train(train_bin, train_label)
        btraining_time.append(timer() - start)

        #Testing
        start = timer()
        rank_result = bwisard.rank(test_bin)
        btesting_time.append(timer() - start)

        #Accuracy
        num_hits = 0
示例#3
0
        wisard.train(folds_train_bin[f], folds_train_label[f])
        rank_result = wisard.rank(folds_test_bin[f])    
        
        num_hits = 0

        for i in range(test_length):
            if rank_result[i] == folds_test_label[f][i]:
                num_hits += 1

        acc_list[j] += (float(num_hits)/float(test_length))
        j += 1

    #Bloom Wisard
    j = 0
    for t in btuple_list:
        bwisard = wnn.BloomWisard(entry_size, t, num_classes, len(folds_train_label[f]))
        bwisard.train(folds_train_bin[f], folds_train_label[f])
        rank_result = bwisard.rank(folds_test_bin[f])    
        
        num_hits = 0

        for i in range(test_length):
            if rank_result[i] == folds_test_label[f][i]:
                num_hits += 1

        bacc_list[j] += (float(num_hits)/float(test_length))
        j += 1



for i in range(len(tuple_list)):
示例#4
0
    bin_data = bin_data.reshape(entry_size, )
    test_bin.append(bin_data)

train_bin = np.asarray(train_bin)
test_bin = np.asarray(test_bin)

#Wisard
num_classes = 10
test_length = len(test_label)

#Bloom Wisard
btuple_list = [2, 4, 7, 8, 14, 16, 28, 49, 56]
bacc_list = []

#for t in btuple_list:
bwisard = wnn.BloomWisard(entry_size, 28, num_classes, 50000, error=0.5)
bwisard.train(train_bin, train_label)
rank_result = bwisard.rank(test_bin)

bwisard_stats = bwisard.stats()
print bwisard_stats
num_hits = 0

for i in range(test_length):
    if rank_result[i] == test_label[i]:
        num_hits += 1

bacc_list.append(float(num_hits) / float(test_length))

#print "Tuples=", btuple_list
print "BloomWisard Accuracy=", bacc_list
示例#5
0
    rank_result = wisard.rank(test_bin)

    num_hits = 0

    for i in range(test_length):
        if rank_result[i] == test_label[i]:
            num_hits += 1

    acc_list.append(float(num_hits) / float(test_length))

#Bloom Wisard
btuple_list = [2, 4, 8, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 40, 56]
bacc_list = []

for t in btuple_list:
    bwisard = wnn.BloomWisard(entry_size, t, num_classes, len(train_bin))
    bwisard.train(train_bin, train_label)
    rank_result = bwisard.rank(test_bin)

    num_hits = 0

    for i in range(test_length):
        if rank_result[i] == test_label[i]:
            num_hits += 1

    bacc_list.append(float(num_hits) / float(test_length))

print "Tuples=", tuple_list
print "Wisard Accuracy=", acc_list
print "Tuples=", btuple_list
print "BloomWisard Accuracy=", bacc_list
示例#6
0
#Wisard
print "Wisard"
wisard2 = wnn.Wisard(20, 4, 2)

c = [a, b]
#t = np.ndarray(shape=(2, 20), buffer=np.array(c, dtype=bool), dtype=bool)

wisard2.train(c, [0, 1])
#print t
print wisard2.rank(c)

wisard2.info()

#BloomWisard
print "Bloom Wisard"
bwisard = wnn.BloomWisard(20, 4, 2, 1000)
bwisard.train(c, [0, 1])
print bwisard.rank(c)

bwisard.info()

print "Dict Wisard"
wisard = wnn.DictWisard(20, 4, 2)
wisard.train(c, [0, 1])
#print t
print wisard.rank(c)
wisard.info()

print "Done"