mplankar.dev

Digit Recognition

Overview

This project is a Python neural network that recognizes and evaluates a drawn digit using scikit-learn. The user can draw a digit on a kivy window and the program will display the predicted digit and the confidence scores for each possible digit in the form of a graph.


Data

The training data for this project is from the UCI ML hand-written digits dataset, which contains 1,797 images of digits from 0 to 9, each with a size of 8x8 pixels. The images are preprocessed and converted into a numpy array of 64 features, representing the pixel values of each image.


Model

The model for this project is a multilayer perceptron (MLP) classifier from the scikit-learn library. The MLP classifier is a type of artificial neural network that consists of an input layer, one or more hidden layers, and an output layer. The MLP classifier learns the weights and biases of the network by using backpropagation and gradient descent algorithms.

The MLP classifier has the following parameters: