This repository contains my Jupyter Notebook analysis of several machine learning models for classifying handwritten digits from the MNIST dataset. The analysis explores a variety of models ranging from t-SNE for dimensionality reduction to deep learning with ResNet-9.
This project is focused on comparing different machine learning models to classify the MNIST dataset, a well-known benchmark for handwritten digit classification. The models analyzed include:
- t-SNE (t-Distributed Stochastic Neighbor Embedding) for dimensionality reduction
- Traditional Machine Learning models such as Random Forest
- Deep learning models including ResNet-9
The results are visualized through various plots to assess the performance of each model and compare their effectiveness in classifying the digits.
To run the notebook, you'll need the following libraries installed:
matplotlib
numpy
pandas
seaborn
tensorflow
openTSNE
scipy
scikit-learn
-
Clone the repository:
git clone https://github.com/kyracho/mnist-classification.git cd mnist-classification
-
Set up a virtual environment (optional):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
Alternatively, install the packages manually:
pip install matplotlib numpy pandas seaborn tensorflow openTSNE scipy scikit-learn
-
Launch Jupyter Notebook:
jupyter notebook
-
Open the
mnist_classification.ipynb
file from the Jupyter interface. -
Run the cells in the notebook to train and evaluate various machine learning models.