A simple web application that lets you draw digits and see how different machine learning models recognize them. Built as a learning project to explore image recognition techniques.
This app demonstrates machine learning concepts by comparing:
- K-Nearest Neighbors algorithm (traditional ML)
- Neural Network approach (deep learning)
- ...work in progress
All models are trained on the MNIST dataset.
- Drawing canvas where you can sketch digits
- Side-by-side comparison of model predictions
- Visualization of the image processing steps
- Super simple responsive interface
- Python with Dash for the web interface
- TensorFlow/Keras for the neural network model
- Scikit-learn for the KNN model
- Plotly for visualizations
- Clone the repository
git clone https://github.com/ludwilton/digit-classifier.git
cd digit-classifier- install dependencies
pip install -r requirements.txt- run the app
python main.py- Open your browser to http://127.0.0.1:8050/
- Draw a digit!
main.py - The application entry point
layout.py - UI components
data_util.py - Image processing and prediction functions
neural_network.ipynb - Training notebook