This repository contains Python code for analyzing and classifying handwritten digits using machine learning techniques. It includes various statistical analyses and classification models applied to the famous MNIST dataset.
The main focus of this project is on analyzing and classifying handwritten digits (0-9) from the MNIST dataset. It includes:
- Statistical analysis of digit images
- Visualization of digit features
- Classification using logistic regression and support vector machines (SVM)
The key features of this repository include:
- Statistical analysis functions for matrices representing digit images
- Visualization functions for histograms and scatter plots
- Classification using logistic regression and SVM
- Cross-validation for estimating generalization performance
- Bonus: Additional statistical analyses such as standard deviation, median, entropy, and skewness
-
Data Preparation: The code expects the MNIST dataset, which is commonly available through libraries like scikit-learn.
-
Exploratory Data Analysis: Various statistical analyses and visualizations are provided to understand the characteristics of the digit images.
-
Classification: Two classification models, logistic regression, and SVM, are implemented for digit classification.
-
Bonus Analysis: Additional statistical analyses can be performed on the digit images for further insights.
- Python 3.11
- Libraries: NumPy, Matplotlib, scikit-learn
- Clone this repository: https://github.com/BenMohaJr/Graphical-Digit-Classification