- Multiple Model Architectures: Implementation of basic MLP, optimized feature-selected, and deep CNN models
- Comprehensive Analysis: Detailed data exploration, visualization, and performance metrics
- Advanced Techniques: Feature importance analysis, sensitivity testing, and error analysis
- Performance Optimization: Model comparison and trade-off analysis
- Interactive Visualizations: Detailed charts and graphs for model behavior understanding
- Extensive Documentation: Step-by-step explanations and implementation details
Model | Accuracy | Prediction Time | Parameters |
---|---|---|---|
Basic MLP | 99.05% | 0.621s | 407,050 |
Optimized | 97.86% | 0.528s | 84,618 |
Deep CNN | 99.71% | 4.869s | 1,015,530 |
- Extensive MNIST dataset exploration
- Class distribution analysis
- Feature importance visualization
- Robust preprocessing pipeline
-
Basic MLP Model
- Simple yet effective architecture
- Multiple neuron configurations tested
- Baseline performance establishment
-
Optimized Model
- Feature selection optimization
- Resource-efficient implementation
- Fast prediction times
-
Deep CNN Model
- Advanced architectural design
- State-of-the-art accuracy
- Comprehensive performance analysis
- Detailed performance metrics
- Sensitivity analysis
- Error visualization
- Model behavior exploration
python>=3.7
tensorflow>=2.0
numpy>=1.19
pandas>=1.1
matplotlib>=3.3
scikit-learn>=0.24
# Clone the repository
git clone https://github.com/ChanMeng666/mnist-handwritten-digit-recognition-project.git
# Navigate to project directory
cd mnist-handwritten-digit-recognition-project
# Install required packages
pip install -r requirements.txt
# Run the Jupyter notebook
jupyter notebook hand-written-digit-recognition_final.ipynb
The project includes extensive visualizations of:
- Model performance comparisons
- Feature importance maps
- Error analysis
- Sensitivity studies
- Training progression
- Implementation of additional architectures
- Enhanced data augmentation techniques
- Model compression exploration
- Real-time prediction capabilities
- Transfer learning experiments
Contributions are welcome! Please feel free to submit pull requests.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The MNIST database creators
- TensorFlow and Keras teams
- Scientific Python community
- All contributors and supporters
Chan Meng - ChanMeng666@outlook.com
Project Link: https://github.com/ChanMeng666/mnist-handwritten-digit-recognition-project