This README outlines the data preprocessing steps implemented for an image classification project focused on distinguishing among various skin diseases. The preprocessing tasks were designed to prepare the data for effective model training, ensuring that all features and labels are properly structured, normalized, and optimized for machine learning.
The dataset consists of images across multiple classes (e.g., monkeypox, measles, etc.), each representing a specific skin condition. Each image has been processed to extract relevant features such as edges, texture (Local Binary Pattern), color histograms, and corner intensities, all of which are essential for model training.
The dataset includes:
- Numerical Data: Edge mean, texture measurements, color histograms, and corner intensity values.
- Categorical Data: Disease class labels.
These types require specific preprocessing to ensure model compatibility and accuracy.
Features were extracted from each image to create a meaningful dataset for classification:
- Edge Mean: Calculated using Canny edge detection.
- Texture (LBP Mean): Using Local Binary Pattern (LBP) to capture texture information.
- Color Histogram Mean: Grayscale histogram values for each image.
- Corner Intensity: Using Harris corner detection to capture intensity and density of corners.
- Missing Images: If images are missing or corrupted, placeholder images are used, or samples are removed if irrecoverable.
- Data Imbalance: Minimum sample counts per class are ensured to maintain balanced data distribution for training.
Outliers, such as excessively high-resolution images or unusual pixel intensity distributions, were handled by:
- Rescaling: All images were resized to a standard resolution of 224x224 pixels.
- Pixel Intensity Normalization: Normalized to ensure consistent brightness and contrast across images.
Data transformation steps for making the dataset model-friendly included:
- Standardizing Numerical Data: StandardScaler was used to bring all feature values into a comparable range.
- Encoding Categorical Data: Class labels were encoded using LabelEncoder, with an optional one-hot encoding step if required for specific models.
Processed data is securely stored in a structured directory within cloud storage (e.g., Google Drive), enabling accessibility and integration with machine learning platforms. A relational database (e.g., MySQL) is also considered for metadata storage, supporting tracking and versioning of preprocessing steps.
- Explore more advanced feature extraction techniques for increased model accuracy.
- Implement automated checks for data balance after preprocessing.
- Add logging and monitoring of preprocessing steps for better tracking and transparency.
This README provides an overview of the data preprocessing tasks performed for this project, supporting a consistent and reproducible workflow for future data updates and model improvements.