This project implements machine learning models to classify images containing Lacta, Karamela, or both cats. The system addresses challenges like class imbalance, visual complexity, and limited training data through a systematic approach including baseline CNNs, transfer learning, and Bayesian optimization.
No installation required! You can read all notebooks directly on GitHub:
- Simply open any
.ipynbfile in thenotebooksfolder - GitHub will render the notebooks with all code, markdown, and outputs visible
- Perfect for reviewing methodology and results without running code
git clone https://github.com/Raumfahrer007/cat_classifier.git
cd cat-classifierpip install jupyter notebookFrom Google Drive: https://drive.google.com/drive/folders/1Rt7a59YWzPHRuB3BATFKmCIZ0MHnRrpD?usp=sharing
- Download the models/ folder and place it in the project root
- Download the raw/ folder and place it inside data/
Final structure should be:
text
cat_classifier/
├── models/ # ← Download from Google Drive
├── data/
│ └── raw/ # ← Download from Google Drive
├── notebooks/
├── src/
└── ...
jupyter notebookNotebook 1: 01_data_exploration_and_preparation
- Run all cells to split raw data into train/val/test sets
- This creates the structured dataset for training
Notebook 2: 02_machine_learning
- Run all cells EXCEPT training cells (models already provided)
- Execute evaluation cells to reproduce results and analyses
- Explore the pre-trained models and their performance
- Training is optional: All trained models are included in the downloaded models/ folder
- Data privacy: The raw images are provided separately via Google Drive
-
notebooks/01_data_exploration_and_preparation.ipynb - Dataset splitting and analysis
-
notebooks/02_machine_learning.ipynb - Model development, training, and evaluation
-
models/ - Pre-trained models (download from Google Drive)
-
data/raw/ - Original images (download from Google Drive)
-
data/processed/ - Generated by Notebook 01
-
src/ - additional code required for the notebooks
Requirements Core dependencies are listed in each notebook and will be installed as needed. Main packages include TensorFlow, scikit-learn, Optuna, and standard data science libraries.