- The Training Dataset has 42000 Images each of 784 pixels representing Digits from 0-9.
- The Test Dataset has 28000 Images.
- I have reshaped the Training and the Test Samples into 28 x 28 pixels for further processing.
- I have used Convolutional Neural Networks to Train the Data.
- After every layer, I have used Batch Normalization to transform the data points to have Zero Mean and Variance One.
- I have used Dropout layers to avoid Overfitting.
- I have performed Data Augmentation and generated random images with ImageDatagenerator to avoid Overfitting.
- I have used LearningRateScheduler after every Epoch to Reduce the Learning Rate in order to converge to Local Optimum.
- Then, I plot the Confusion Matrix to Evaluate the Performance of the model on the data.
- Lastly, I have generated csv file and made submission on Kaggle and acheived 99.66% Accuracy on its Public Leaderboard.
Chinmayrane16/MNIST-Digit-Recognizer-CNN-Keras-99.66
Used the Dataset "MNIST Digit Recognizer" on Kaggle. Trained Convolutional Neural Networks on 42000 Training Images and predicted labels on 28000 Test Images with an Validation Accuracy of 99.52% and 99.66% on Kaggle Leaderboard.
Jupyter NotebookMIT