コード例 #1
0
def create_training_split(x, y, num_hidden_neurons, lr, epochs):
    shuffled = np.hstack((x, y))
    np.random.shuffle(shuffled)
    h_index = int(shuffled.shape[0] * .8)
    x_training_split = shuffled[:h_index, :-1]
    y_training_split = shuffled[:h_index, -1:]
    x_test_split = shuffled[h_index:, :-1]
    y_test_split = shuffled[h_index:, -1:]
    nn = NeuralNetwork(x_training_split, y_training_split, num_hidden_neurons)
    nn.train(epochs)
    print("Training accuracy, precision:", nn.accuracy_precision())
    nn.test_feedforward(x_test_split, y_test_split)
    print("Testing accuracy, precision:", nn.accuracy_precision())
コード例 #2
0
def test_or_nn(verbose=0):
    x, y = create_or_nn_data()
    nn = NeuralNetwork(x, y, 4, 1)
    nn.feedforward()
    if verbose > 0:
        print("OR 1 " + str(nn.loss()))
        print("NN output " + str(nn._output))
        print(nn.accuracy_precision())
    assert nn.loss() < .04
コード例 #3
0
def test_ttt_nn(verbose=0):
    x, y = load_tictactoe_csv("tic-tac-toe-1.csv")
    nn = NeuralNetwork(x, y, 4, .1)
    nn.load_4_layer_ttt_network()
    nn.feedforward()
    if verbose > 0:
        print("NN 1 " + str(nn.loss()))
        print("NN output " + str(nn._output))
        print(nn.accuracy_precision())
    assert nn.loss() < .02
コード例 #4
0
def test_nn_6():
    x, y = load_tictactoe_csv("tic-tac-toeFull.csv")
    nn = NeuralNetwork(x, y, 20, .002)
    nn.train(100000)
    # print("test 12 loss:", nn.loss())
    print("test 12 comparison:")
    print("num hidden neurons:", 20)
    print("num epochs:", 100000)
    print("learning rate:", .002)
    create_training_split(x, y, 30, .02, 100000)
    print("100/0 split accuracy, precision:", nn.accuracy_precision())
    print("-------")
    assert nn.loss() < .5