Giter Site home page Giter Site logo

zmusaddique / digitpredictor Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 173.13 MB

A website that compares different models that were trained using different algos and versions of datasets. It provides detailed metrics of the model and educates beginners

License: Apache License 2.0

Python 93.70% Dockerfile 0.01% Jupyter Notebook 1.53% PowerShell 0.02% Shell 0.01% C 0.75% JavaScript 0.05% HTML 0.01% CSS 0.01% Lua 0.01% Cython 3.73% C++ 0.09% Fortran 0.07% Forth 0.01% Smarty 0.01% XSLT 0.01% Roff 0.01%

digitpredictor's Introduction

Description

DigitPredictor is a web application that allows users to predict handwritten digits using machine learning classification models. The application is built using Flask, HTML, and CSS, and it leverages various classification algorithms to accurately predict the digits from user-provided images.

The main aim of this project is to provide a user-friendly interface for predicting digits while also educating users about different classification model metrics like accuracy, precision, recall, and F1 score. The application visualizes the model's performance through confusion matrices and provides an "Advanced View" with decision charts for various classification models.

Features

  • Upload an image of a handwritten digit or select from existing images for prediction.
  • Predict the digit using multiple classification models: KNN, SVC (One-vs-One and One-vs-Rest), and Random Forest.
  • Visualize the prediction confidence using color-coded indicators.
  • Explore model metrics like accuracy, precision, recall, and F1 score.
  • Access in-depth information about each model through modals with detailed descriptions and links.
  • Gain insights from confusion matrices to understand the model's performance better.
  • Engage with an "Advanced View" to observe decision charts for different models.

Screenshots

Homepage Homepage of the DigitPredictor web application.

Digit Prediction Digit prediction process with confidence indicators.

Model Metrics Model metrics visualizations and confusion matrices.

Additional Models Advanced View with decision charts for different classification models.

Installation

  1. Clone this repository to your local machine.
  2. Install the required Python packages using pip install -r requirements.txt.
  3. Run the application using python app.py.
  4. Access the web application locally by visiting http://localhost:5000 in your web browser.

Usage

  1. Open the DigitPredictor web application in your web browser.
  2. Select or upload an image of a handwritten digit (less than 4MB).
  3. Click the "Submit" button to see predictions from different classification models.
  4. Explore the model metrics and confusion matrices to understand the model's performance.
  5. Click on the "Advanced View" button to access decision charts for each classification model.

Model Metrics

The web application provides insights into the following model metrics:

  • Accuracy: The percentage of correctly predicted digits over the total test samples.
  • Precision: The ability of the model to correctly predict positive samples among all positive predictions.
  • Recall: The ability of the model to correctly identify positive samples among all actual positive samples.
  • F1 Score: The harmonic mean of precision and recall, providing a balanced measure of model performance.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, feel free to submit a pull request or open an issue.

License

This project is licensed under the MIT License.

Acknowledgments

  • Thanks to OpenAI for providing the GPT-3.5 language model.
  • The dataset used for training the classification models is sourced from MNIST.
  • Special thanks to the Python and Flask communities for their valuable resources and documentation.

digitpredictor's People

Contributors

zmusaddique avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.