Skip to content

Interactive digit classifier web app comparing KNN and Neural Network approaches. Draw digits, real-time predictions with visualizations of image processing steps. Built with TensorFlow, Dash, and Scikit-learn.

Notifications You must be signed in to change notification settings

Ludwilton/Digit-classifier

Repository files navigation

Digit Classifier

classifier image 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.

About

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.

Features

  • Drawing canvas where you can sketch digits
  • Side-by-side comparison of model predictions
  • Visualization of the image processing steps
  • Super simple responsive interface

Tech Stack

  • Python with Dash for the web interface
  • TensorFlow/Keras for the neural network model
  • Scikit-learn for the KNN model
  • Plotly for visualizations

How to Use

  1. Clone the repository
git clone https://github.com/ludwilton/digit-classifier.git
cd digit-classifier
  1. install dependencies
pip install -r requirements.txt
  1. run the app
python main.py
  1. Open your browser to http://127.0.0.1:8050/
  2. Draw a digit!

Project structure

main.py - The application entry point

layout.py - UI components

data_util.py - Image processing and prediction functions

neural_network.ipynb - Training notebook

About

Interactive digit classifier web app comparing KNN and Neural Network approaches. Draw digits, real-time predictions with visualizations of image processing steps. Built with TensorFlow, Dash, and Scikit-learn.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published