예제 #1
0
def cpu_multi(pop_size, P, num_of_hidden):
    # number of input covariates
    num_of_inputs = len(P[0])

    # Tanh to keep implementation details easy in opencl
    com = build_feedforward_committee(8, num_of_inputs, num_of_hidden, 1, output_function="tanh")

    benchmark(com.sim)(P)
예제 #2
0
def find_solution(P, T):
                
    #test, validation = get_validation_set(P, T, validation_size = 0.33)
    net = build_feedforward(input_number = len(P[0]), hidden_number = 4, output_number = len(T[0]))
    #com = build_feedforward_committee(size = 4, input_number = len(P[0]), hidden_number = 6, output_number = len(T[0]))
    
    epochs = 1000
    
    testset, valset = get_validation_set(P, T, validation_size = 0.01)
    
    print("Training...")
    net = benchmark(train_evolutionary)(net, testset, valset, 100, random_range = 1)
    net = benchmark(traingd)(net, testset, valset, epochs, learning_rate = 0.1, block_size = 1)
    
    #benchmark(train_committee)(com, train_evolutionary, P, T, 100, random_range = 1)
    #benchmark(train_committee)(com, traingd, P, T, epochs, learning_rate = 0.1, block_size = 30)
    
    #P, T = test
    Y = net.sim(P)
    area, best_cut = plotroc(Y, T, 1)
    plot2d2c(net, P, T, figure = 2, cut = best_cut)
    
    #P, T = validation
    #Y = com.sim(P)
    #plotroc(Y, T, 2)
    
#    print("")
#    print("Stats for cut = 0.5")
#    [num_correct_first, num_correct_second, total_performance, num_first, num_second, missed] = stat(Y, T)
    
    #save_network(best, "/export/home/jonask/Projects/aNeuralN/ANNs/classification_gdblock20_rocarea" + str(area) + ".ann")
    #save_network(best, "/export/home/jonask/Projects/aNeuralN/ANNs/classification_genetic_rocarea" + str(area) + ".ann")
    #save_committee(com, "/export/home/jonask/Projects/aNeuralN/ANNs/classification_gdblock30_rocarea" + str(area) + ".anncom")
    #save_committee(com, "/export/home/jonask/Projects/aNeuralN/ANNs/classification_genetic_rocarea" + str(area) + ".anncom")
    
    plt.show()
예제 #3
0
test = (inputs, targets)
validation = ([], [])

# Train!

# net = build_feedforward(8, 8, 1)

epochs = 10

# best = benchmark(train_evolutionary)(net, test, validation, 10, random_range = 1)
# best = benchmark(traingd_block)(net, test, validation, epochs, block_size = 10, stop_error_value = 0)

com = build_feedforward_committee(size=10, input_number=8, hidden_number=8, output_number=1)

print "Training evolutionary..."
benchmark(train_committee)(com, train_evolutionary, inputs, targets, epochs, random_range=1)

Y = com.sim(inputs)
area, best_cut = get_rocarea_and_best_cut(Y, targets)
[num_correct_first, num_correct_second, total_performance, num_first, num_second, missed] = stat(
    Y, targets, cut=best_cut
)
print (
    "Total number of data: " + str(len(targets)) + " (" + str(num_second) + " ones and " + str(num_first) + " zeros)"
)
print ("Number of misses: " + str(missed) + " (" + str(total_performance) + "% performance)")
print ("Specificity: " + str(num_correct_first) + "% (Success for class 0)")
print ("Sensitivity: " + str(num_correct_second) + "% (Success for class 1)")
print ("Roc Area: " + str(area) + "%")

save_committee(com, "/export/home/jonask/Projects/aNeuralN/ANNs/pimatrain_gen__rocarea" + str(area) + ".anncom")