Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """ Odd/even Classifier with a Feed Forward Neural Network """
- import keras
- import matplotlib.pyplot as plt
- import numpy as np
- from sklearn.model_selection import train_test_split
- def tobin(d, pad=8):
- return [int(i) for i in bin(2**pad + d)[2:]][1:]
- input_numbers = np.array([tobin(i) for i in range(256)])
- input_labels = np.array([i % 2 for i in range(256)])
- in_train, in_test, out_train, out_test = train_test_split(input_numbers, input_labels, test_size=0.33)
- model = keras.models.Sequential([
- keras.layers.Dense(8, input_dim=8),
- keras.layers.Dense(1)
- ])
- model.compile(loss='mean_squared_error', optimizer='sgd')
- model.fit(
- in_train,
- out_train,
- epochs=50
- )
- print(model.evaluate(in_test, out_test))
- p = model.predict(input_numbers)
- sq = sum(([0 if i < 0.5 else 1 for i in p] - input_labels)**2)
- print("Square error: #{} → {}%".format(sq, 100 * sq / len(input_numbers)))
- plt.plot([0 if i < 0.5 else 1 for i in model.predict(input_numbers)])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement