This project involves implementing and evaluating various classification methods on the CIFAR-10 dataset. The dataset consists of 60,000 32x32 color images across 10 different classes. Our goal was to compare the performance of different classifiers and gain insights into their strengths and weaknesses.
We investigated the following classifiers:
- k-Nearest Neighbors (kNN)
- Logistic Regression
- Random Forest
- Neural Networks (MLP and CNN)
- data/: Contains the CIFAR-10 dataset. Generates when notebooks are run.
CIFAR-10_logistic_Classifier_Implementation.ipynb
: Logistic regressionCIFAR-10_Neural_Network.ipynb
: CNN and MLPCIFAR-10_Random_Forest.ipynb
: Random ForestCIFAR-10_kNN_Classifier_Implementation.ipynb
: kNNCIFAR-10_report.ipynb
: Contains graphs and results generated from the models.README.md
: Project overview and instructions.
- Clone the repository:
git clone https://github.com/yourusername/CIFAR-10-Image-Classification.git cd CIFAR-10-Image-Classification
- Install the required packages:
pip install -r requirements.txt
Run the Jupyter notebooks to see the implementation of each classifier and the corresponding results.
The results of our experiments showed that convolutional neural networks (CNNs) achieved the highest accuracy, followed by random forests. We also observed that kNN and logistic regression performed well under certain hyperparameter settings.
- Classifiers struggled to distinguish between different animal classes.
- Data preprocessing and hyperparameter tuning significantly impacted model performance.
- Practical applications include object recognition in autonomous vehicles, security and surveillance, and medical imaging analysis.
- Jordan Yee: Implemented kNN and logistic regression classifiers.
- Travis Moore: Designed neural network structures for MLP and CNN.
- Shifeng Hong: Implemented random forest classifier and generated graphs.
This project is licensed under the MIT License. See the LICENSE file for details.