This project is a machine learning task focused on classifying grayscale images (32×32 pixels) derived from the Fashion-MNIST dataset. It was developed as part of a university assignment to explore and compare neural network architectures for image classification.
train.csv
— contains labeled training data.- Features: flattened grayscale images (1024 pixels).
- Target:
label
column (categorical classes).
evaluate.csv
— contains unlabeled test data for final prediction.
-
Data Exploration
- Load and inspect the structure of the dataset.
- Visualize sample images.
- Analyze label distribution and pixel value characteristics.
-
Model Development
-
Build and train feedforward neural networks (FNNs):
- Vary number of layers and neurons.
- Experiment with normalization, optimizers (SGD, Adam), and regularization (Dropout, L2).
- Compare performance and document findings.
-
Build and train convolutional neural networks (CNNs):
- Use multiple convolutional and pooling layers.
- Apply batch normalization, Dropout, and optimizer tuning.
- Assess suitability for image data and evaluate test accuracy.
-
-
Model Evaluation & Selection
- Use validation subsets to assess model generalization.
- Select a final model based on accuracy and stability.
-
Prediction on Test Set
- Use the final trained model to predict labels in
evaluate.csv
. - Save predictions in the format below and export as
results.csv
:
- Use the final trained model to predict labels in
- Language: Python
- Libraries:
NumPy
,Pandas
,Matplotlib
,torch
,scikit-learn
,seaborn
,torchvision
- Comparison of different model architectures and training strategies.
- Understanding of CNNs for image recognition.
- Final test set predictions stored in
results.csv
.
This project showcases practical skills in deep learning, model tuning, and real-world image classification workflows.