In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from main.neural_networks.feed_forward_network import NeuralNetwork, scale_df_to_nn
%matplotlib inline
In [2]:
train = pd.read_csv('../../data_sets/mnist_train.csv', header=None)
test = pd.read_csv('../../data_sets/mnist_test.csv', header=None)
train[:5]
Out[2]:
In [3]:
train_x = train.ix[:,1:]
train_y = train.ix[:,0]
train_y = pd.get_dummies(train_y)
test_x = test.ix[:,1:]
test_y = test.ix[:,0]
test_y = pd.get_dummies(test_y)
train_x = scale_df_to_nn(matrix=train_x)
train_y = scale_df_to_nn(matrix=train_y)
test_x = scale_df_to_nn(matrix=test_x)
test_y = scale_df_to_nn(matrix=test_y)
In [4]:
net = NeuralNetwork(input_nodes=784, output_nodes=10, hidden_layers=[400], learning_rate=.2)
net.train(train_X=train_x, train_Y=train_y, epochs=3)
In [5]:
accuracy, output_arrays, score_card = net.accuracy(test_X=test_x, test_Y=test_y)
In [32]:
np.argmax(net.query_element(inputs_list=test_x.iloc[4]))
np.argmax(test_y.iloc[4])
Out[32]:
In [6]:
accuracy
Out[6]:
In [ ]: