def show_solution(P, T, path): best = load_network(path) Y = best.sim(P) area = plotroc(Y, T) print("") print("Stats for cut = 0.5") [num_correct_first, num_correct_second, total_performance, num_first, num_second, missed] = stat(Y, T) plt.title(path + "\nArea = " + str(area)) plt.show()
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()
benchmark(train_committee)(com, traingd, inputs, targets, epochs, block_size=10, stop_error_value=0) 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) + "%") Y = com.sim(inputs) [num_correct_first, num_correct_second, total_performance, num_first, num_second, missed] = stat(Y, targets) # plt.legend("Pima_Training Committee Gradient Descent block size 10\n [Cross validation] Total performance = " + str(total_performance) + "%") area = plotroc(Y, targets, 1) save_committee(com, "/export/home/jonask/Projects/aNeuralN/ANNs/pimatrain_rocarea" + str(area) + ".anncom") # Estimate on test set now print ("\nPredictions for test set:") Y_test = com.sim(test_inputs) for value in Y_test: print value[0] plt.show()