Professional Documents
Culture Documents
Assignment 6.1
Assignment 6.1
import pandas as pd
%matplotlib inline
np.random.seed(35)
plt.title(y_train[0])
X_test = X_test.reshape(10000,784)
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train/=255
X_test/=255
In [5]: number_of_classes = 10
y_train[0], Y_train[0]
Out[5]: (5, array([0., 0., 0., 0., 0., 1., 0., 0., 0., 0.], dtype=float32))
In [6]: #shuffle the training set
for _ in range(5):
indexes = np.random.permutation(len(X_train))
X_train = X_train[indexes]
Y_train = Y_train[indexes]
val_images = X_train[:10000,:]
val_labels = Y_train[:10000,:]
train_images = X_train[10000:,:]
train_labels = Y_train[10000:,:]
train_images.shape, val_images.shape
model.add(Dense(512, input_dim=784))
model.add(Activation('relu'))
# Dropout helps protect the model from memorizing or "overfitting" the training data
model.add(Dropout(0.2))
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(10))
model.add(Activation('softmax'))
validation_data=(val_images, val_labels))
Epoch 1/5
Epoch 2/5
Epoch 3/5
Epoch 4/5
Epoch 5/5
val_loss = history.history['val_loss']
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()
plt.savefig('Results/6_1_lossplot.png')
val_accuracy = history.history['val_accuracy']
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend()
plt.show()
plt.savefig('results/6_1_accuracyplot.png')
print()
predictions = list(predictions)
actuals = list(y_test)
pred_res.to_csv('results/6_1_predictions.csv', index=False)
print (pred_res)
Actual Predictions
0 7 7
1 2 2
2 1 1
3 0 0
4 4 4
9995 2 2
9996 3 3
9997 4 4
9998 5 5
9999 6 6
model.save('results/6_1_model.h5')
In [ ]: