Final project for CS-UH 2220: Machine Learning
This project performs multi-class classification of dermatological images using the DermaMNIST dataset.
The repository contains:
- Exploratory Data Analysis (EDA)
- Deep learning model training using ResNet-18 (transfer learning)
- 10,015 RGB images
- 7 skin lesion classes
- Significant class imbalance
- Source: MedMNIST (DermaMNIST)
skin-lesion-classification/
│
├── notebooks/
│ ├── 01_data_exploration.ipynb
│ └── 02_resnet18_training.ipynb
│
├── figures/
│ ├── class_distribution.png
│ ├── sample_images.png
│ ├── pixel_histogram.png
│ └── confusion_matrix.png
│
├── README.md
├── requirements.txt
└── .gitignore
- ResNet-18 (ImageNet pretrained)
- CrossEntropyLoss
- Cosine Learning Rate Scheduler
- Data augmentation
- Evaluation using precision, recall, and F1-score
- Test Accuracy: ~80%
- Weighted F1-score: ~0.79
- Macro F1-score: ~0.63
- Melanoma recall monitored separately
Recommended: Google Colab
- Run
01_data_exploration.ipynb - Run
02_resnet18_training.ipynb(GPU recommended)
Dependencies are listed in requirements.txt.
- Severe class imbalance impacts minority class performance.
- Transfer learning significantly improves generalization.
- Monitoring per-class metrics is crucial in medical ML tasks.