A comprehensive deep learning project that implements and evaluates multiple Convolutional Neural Network (CNN) architectures for fashion image classification using the Fashion MNIST dataset.
This project focuses on:
- Training and evaluating 10 different CNN model architectures
- Feature extraction and dimensionality reduction using intermediate layer representations
- Clustering analysis and visualization techniques
- Mystery label identification using extracted features
The project uses the Fashion MNIST dataset, which contains:
- Training data: Fashion item images with corresponding labels
- Test data: Fashion item images for evaluation
- 5 different fashion categories (based on the code showing
num_classes=5
)
The project implements and evaluates 10 different CNN models (Mod 1 through Mod 10) with varying architectures and hyperparameters. Each model is trained and evaluated to find the best performing architecture.
Based on the code analysis, the model accuracies achieved are:
- Mod 1: 87.62%
- Mod 2: 85.85%
- Mod 3: 30.00%
- Mod 4: 88.95%
- Mod 5: 92.31%
- Mod 6: 93.30%
- Mod 7: 93.86%
- Mod 8: 92.96%
- Mod 9: 92.03%
- Mod 10: 86.16%
Best performing model: Mod 7 with 93.86% accuracy
- TensorFlow/Keras: Deep learning framework for CNN implementation
- Scikit-learn: Machine learning utilities for clustering and dimensionality reduction
- NumPy & Pandas: Data manipulation and analysis
- Matplotlib & Seaborn: Data visualization
- VisualKeras: Model architecture visualization
- Multiple CNN architectures with different layer configurations
- Early stopping implementation to prevent overfitting
- Comprehensive model evaluation and comparison
- Training time and testing time tracking
- Intermediate layer feature extraction from trained models
- Dimensionality reduction using Principal Component Analysis (PCA)
- Feature encoding for downstream analysis
- DBSCAN Clustering: Density-based clustering with eps=2, min_samples=30
- K-means Clustering: K-means with 5 clusters
- Visualization of clustering results using PCA-reduced features
- PCA: Principal component analysis for feature reduction
- t-SNE: t-Distributed Stochastic Neighbor Embedding for 2D visualization
- Isomap: Isometric mapping for non-linear dimensionality reduction
- SVM classifier implementation using extracted features
- Classification of unlabeled fashion items
- Accuracy evaluation on test data
Fashion_CNN_Model/
├── CNN_Fashionmnist.ipynb # Main Jupyter notebook with complete implementation
├── README.md # Project documentation
└── report.pdf # Detailed project report
- Model Performance: The best performing model achieved 93.86% accuracy, significantly outperforming the baseline models
- Feature Learning: Intermediate layer representations effectively capture discriminative features for fashion classification
- Clustering Insights: Both DBSCAN and K-means clustering reveal meaningful patterns in the learned feature space
- Dimensionality Reduction: Multiple visualization techniques (PCA, t-SNE, Isomap) provide complementary insights into data structure
- Open
CNN_Fashionmnist.ipynb
in Jupyter Notebook or Google Colab - Ensure all required dependencies are installed
- Run the notebook cells sequentially to reproduce the results
- The notebook includes comprehensive documentation and visualization of results
- TensorFlow 2.x
- Keras
- Scikit-learn
- NumPy
- Pandas
- Matplotlib
- Seaborn
- VisualKeras
This project demonstrates the effectiveness of CNN architectures for fashion image classification, achieving up to 93.86% accuracy. The comprehensive analysis includes model comparison, feature extraction, clustering analysis, and multiple visualization techniques, providing valuable insights into both the classification performance and the learned feature representations.