This project demonstrates how a robot can “see” and recognize handwritten digits using Machine Learning. We build a complete ML pipeline to classify small grayscale images (0–9) simulating what a robot might encounter when reading room signs, control panels, or numeric indicators.
It is designed as a beginner-friendly, end-to-end project, showcasing how to go from raw data to a working prediction system with clear, interpretable results.
- Simulate a robot’s digit perception task
- Build and evaluate a classification model
- Visualize predictions and performance
We use the built-in load_digits dataset from scikit-learn.
- Python ≥ 3.7
- Jupyter Notebook
- numpy
- pandas
- matplotlib
- seaborn
- scikit-learn
Each image is flattened into 64 pixel values to serve as input features.
- Data exploration & visualization
- Random Forest classifier with ~98% accuracy
- Confusion matrix & classification report
- Predicted images vs. actual labels visualized
- Test Accuracy: ~98%
- Very low misclassification rate
- Confident predictions with interpretable visualizations
Heatmap of confusion matrix
Example images annotated with predicted and true labels