コード例 #1
0
perceptron = Perceptron()
perceptron.print_training_data()

test_data_arr = generate_data(GENERATE_TEST_SET_AMOUNT)  # test set generation


error_count = 0
# Perceptron test
for data_raw in test_data_arr:
    resp = perceptron.activation(data_raw)
    if resp != data_raw[-1]:  # if the response is not correct
        error_count += 1
    if resp == 1:
        plot(data_raw[0], data_raw[1], 'ob')
    else:
        plot(data_raw[0], data_raw[1], 'or')


# ========== PRINT INFO
print("error % =", (error_count / ITERATION_MAX) * 100)
perceptron.print_weights_info()

vector_length = norm(perceptron.weights)
normalized_vector_arr = []
for weight in perceptron.weights:
    normalized_vector_arr.append(weight / vector_length)

orthogonal_up = [normalized_vector_arr[1], -normalized_vector_arr[0]]
orthogonal_down = [-normalized_vector_arr[1], normalized_vector_arr[0]]
plot([orthogonal_up[0], orthogonal_down[0]], [orthogonal_up[1], orthogonal_down[1]], '--k')
show()