// Project
Handwritten Number Prediction
A Python-based handwritten digit recognition system using a Scikit-learn MLP neural network.
// Overview
Summary
A machine learning project that recognizes handwritten numbers from image input using a Multi-Layer Perceptron (MLP) neural network. The system processes handwritten digit images by converting them to grayscale, resizing them to 28×28 pixels, and normalizing the pixel values into numerical features suitable for machine learning.
// Approach
Process & Design
The project includes an automated dataset generation pipeline that extracts image features and creates a structured CSV dataset containing 784 pixel features for each image along with its corresponding digit label. A Scikit-learn MLPClassifier with two hidden layers is then trained on the generated dataset to learn patterns associated with handwritten digits from 0 to 9. For prediction, a new image is processed using the same preprocessing pipeline and converted into 784 normalized pixel values before being passed to the trained neural network. The predicted digit is then returned as the final output. The project demonstrates practical implementation of image preprocessing, dataset generation, feature extraction, neural-network classification, and image-based prediction using Python.
Scikit-learn
Used to build and train the MLP (Multi-Layer Perceptron) classifier for handwritten digit recognition.
Pandas
Used for creating, processing, organizing, and managing the structured CSV dataset containing pixel features and labels.
Pillow
Used for loading, resizing, converting, and preprocessing handwritten digit images before model prediction.
// Features
Key Highlights
Handwritten Digit Recognition
Recognizes handwritten numbers from 0–9.
Pixel Normalization
Normalizes image values before feeding them into the model.
MLP Classification
Uses a Multi-Layer Perceptron neural network for digit classification.
Model Training & Prediction
Trains the classifier and uses the trained model to predict new handwritten digits.