{"id":15136078,"url":"https://github.com/sabaudian/binary_image_classification_project","last_synced_at":"2026-01-05T19:13:33.474Z","repository":{"id":228024424,"uuid":"700803608","full_name":"Sabaudian/Binary_Image_Classification_project","owner":"Sabaudian","description":"Statistical Methods for Machine Learning project - Muffins Vs Chihuahuas","archived":false,"fork":false,"pushed_at":"2024-07-26T13:46:10.000Z","size":154053,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-08T14:34:08.995Z","etag":null,"topics":["binary-classification","binary-image-classification","classification","computer-vision","convolutional-neural-networks","image-classification","k-fold-cross-validation","keras","machine-learning","mobilenet","muffin-vs-chihuahua","multilayer-perceptron-network","pycharm-ide","python","statistical-methods-for-machine-learning","tensorflow","unimi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sabaudian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-05T10:24:24.000Z","updated_at":"2024-07-26T13:46:13.000Z","dependencies_parsed_at":"2024-07-20T13:57:44.332Z","dependency_job_id":"0853c0af-b3a8-445e-aaad-37681de2e146","html_url":"https://github.com/Sabaudian/Binary_Image_Classification_project","commit_stats":null,"previous_names":["sabaudian/smml_project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sabaudian%2FBinary_Image_Classification_project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sabaudian%2FBinary_Image_Classification_project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sabaudian%2FBinary_Image_Classification_project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sabaudian%2FBinary_Image_Classification_project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sabaudian","download_url":"https://codeload.github.com/Sabaudian/Binary_Image_Classification_project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245542051,"owners_count":20632421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-classification","binary-image-classification","classification","computer-vision","convolutional-neural-networks","image-classification","k-fold-cross-validation","keras","machine-learning","mobilenet","muffin-vs-chihuahua","multilayer-perceptron-network","pycharm-ide","python","statistical-methods-for-machine-learning","tensorflow","unimi"],"created_at":"2024-09-26T06:03:59.629Z","updated_at":"2026-01-05T19:13:33.361Z","avatar_url":"https://github.com/Sabaudian.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Statistical Methods for Machine Learning: experimental project\n\n[![Pycharm Badge](https://img.shields.io/badge/PyCharm-000000.svg?\u0026style=for-the-badge\u0026logo=PyCharm\u0026logoColor=white)](https://www.jetbrains.com/pycharm/)\n[![Pyton Badge](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)](https://www.python.org/downloads/release/python-3105/)\n[![Tensorflow Badge](https://img.shields.io/badge/TensorFlow-FF6F00?style=for-the-badge\u0026logo=tensorflow\u0026logoColor=white)](https://www.tensorflow.org)\n[![Keras Badge](https://img.shields.io/badge/Keras-FF0000?style=for-the-badge\u0026logo=keras\u0026logoColor=white)](https://keras.io)\n\nUse Keras to train a neural network for the binary classification of muffins and Chihuahuas.\n\n## General Information\n\n- **Python** version is: **3.10.5** (_click on the badge_)\n- **requirements.txt** contains all the necessary python packages (_use the command below to install all the pachages_)\n```\npip install -r requirements.txt\n```\n- The file called \"SMML_Project_Report\" is the document describing the project\n\n## Structure of the project\nthe architecture of this project is fundamentally organized into four blocks. The initial two blocks are dedicated to preprocessing and data preparation tasks, whereas the latter two blocks are focused on model construction: classification and evaluation.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/Sabaudian/SMML_project/assets/32509505/4b168037-0c91-4363-bcd5-cc720ae99e86\"\u003e\n\u003c/p\u003e\n\n#### A. Preprocessing\nIn the preprocessing phase, the emphasis is on refining the dataset. The process involves systematically addressing corrupted files, detecting and managing duplicates through image hashing, and conducting a thorough dataset check.\n\n#### B. Data Preparation\nIn the data preparation phase, the primary focus is on loading and enhancing the dataset. This involves using Keras and TensorFlow to load training, validation, and test datasets, applying data augmentation techniques such as flip, rotation, and zoom, and normalizing pixel values. The goal is to ensure the dataset is well-prepared and suitable for subsequent steps.\n\n#### C. Classification\nIn the classification phase, a robust image classification pipeline is established using Keras and TensorFlow. The implementation introduces configurable models, including Multilayer Perceptron, Convolutional Neural Network and MobileNet. The workflow seamlessly integrates hyperparameter tuning and K-fold cross-validation for comprehensive model optimization.\n\n#### D. Evaluation\nIn the evaluation phase, the model’s performance is tested through the presentation of insightful metrics, such as loss and accuracy. The module further generates classification reports, produces confusion matrices, and offers intuitive plots to analyze predictions.\n\n## Performace Summary:\n\n|   | MLP | CNN | MOBILENET | \n| --- | --- | --- | --- |\n| Accuracy (%)  | 71.537 | 94.510 | 99.493 |\n| Loss  | 0.573 | 0.222 | 0.019 |\n\nThe models exhibit varying degrees of performance, with MobileNet emerging as the\nstandout performer, achieving near-perfect accuracy and classification proficiency.\nThe CNN model also demonstrates notable results. The MLP model performs worse\nthan its counterparts, exhibiting suboptimal performance characterized by higher loss\nresulting in a notable rate of misclassification (underfitting).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/7277174b-6fb6-4901-a71b-6e56ba4055aa\"\n\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabaudian%2Fbinary_image_classification_project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsabaudian%2Fbinary_image_classification_project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabaudian%2Fbinary_image_classification_project/lists"}