{"id":21358495,"url":"https://github.com/ceciljoseph97/caltech101histogramclassification","last_synced_at":"2025-06-16T04:03:52.678Z","repository":{"id":181627213,"uuid":"600145322","full_name":"ceciljoseph97/Caltech101HistogramClassification","owner":"ceciljoseph97","description":"Image Classification performed in HistogramData","archived":false,"fork":false,"pushed_at":"2023-02-10T17:38:00.000Z","size":2837,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T18:35:45.613Z","etag":null,"topics":["artificial-neural-networks","caltech101","classification","histogram","machine-learning","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/ceciljoseph97.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}},"created_at":"2023-02-10T17:27:58.000Z","updated_at":"2024-03-05T09:58:08.000Z","dependencies_parsed_at":"2023-07-16T15:39:32.730Z","dependency_job_id":null,"html_url":"https://github.com/ceciljoseph97/Caltech101HistogramClassification","commit_stats":null,"previous_names":["ceciljoseph97/caltech101histogramclassification"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceciljoseph97%2FCaltech101HistogramClassification","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceciljoseph97%2FCaltech101HistogramClassification/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceciljoseph97%2FCaltech101HistogramClassification/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceciljoseph97%2FCaltech101HistogramClassification/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceciljoseph97","download_url":"https://codeload.github.com/ceciljoseph97/Caltech101HistogramClassification/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830955,"owners_count":20354856,"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":["artificial-neural-networks","caltech101","classification","histogram","machine-learning","python"],"created_at":"2024-11-22T05:17:48.396Z","updated_at":"2025-03-16T06:17:12.896Z","avatar_url":"https://github.com/ceciljoseph97.png","language":"Jupyter Notebook","readme":"# **Image Classification of Caltech101 Dataset( Histogram Data )**\nCaltech-101 contains a total of 9,146 images, split between 101 distinct object categories (faces, watches, ants, pianos, etc.) and a background category. \n\n### **Dataset Distribution**\n![image](https://user-images.githubusercontent.com/29672160/218158813-001c0378-5690-4887-9e5c-1f5c62240826.png)\n\nWe can observe that the Faces category has the highest number of images as 870. And the lowest number of images as low as 31. Such an imbalanced dataset is one of the major reasons for the bad performance of deep neural networks and other general classifiers.\n\n### **Run Strategies:**\n**`Options`**\n1. `Run Classifiers with K-fold Strategy(Training|Testing).`\n2. `Run Classifiers with Stratified K-fold Strategy(Training|Testing).` \n3. `Run SVM with [3, 5, 10, 15, 20, 25, 30] images per class for training.`\n\nfor the options 1 and 2, below classifiers used and performance is observed:\n1. `Multi-layer Perceptron (MLP) Classifier.`\n2. `SVM Classifier.`\n3. `Random Forest Classifier.`\n4. `KNN Classifier.`\n5. `Logistic Regression Classifier.`\n6. `LightGBM Classifier.`\n\n**Dataset consideration**\n1. Original Dataset\n2. Dataset after Removing the `BACKGROUND_Google` Class.(noise class).\n\n**Some general Observation**\n1. Training|Testing Strategy have high impact in classifier performance.\n2. `random_state` has considerable impact in classifier performance.\n3. `[3, 5, 10, 15, 20, 25, 30..]` images per class for training showing increase in accuracy but after the training split `30` classifier seems to get overfitted and accuracy flatlines. This is due to the imbalanced dataset and in the frequency plot we can see minimum number of images in a class is 31 and max is 870, which will impact the classifier performance considerably.\n4. SVM classifier is showing good promise in terms of computational cost and accuracy =\u003e Reason for choosing SVM over other for train split scenario.\n\n### **Requirements:**\n`Images.csv`: Contains the images which are represented by an image ID and the corresponding\nclass.\u003cbr\u003e\n`EdgeHistogram.csv`: Contains the feature data, Edge Histogram feature data for the images (Dimension of 80).\n\n### **installation and Deployment**\nFor a local installation, make sure you have pip installed and run:\u003cbr\u003e\n    \n    pip install notebook\n**Note**: Use conda environment to ease up the setup and future environment setups.\n\n    conda create --name \u003cenvname\u003e --file requirements.txt\n    conda activate testing\nInstall the necessary dependencies:\n\n    python -m pip install -r requirements.txt\n\nRunning in a local installation\nLaunch with:\n\n    jupyter notebook \n\nif using google colab: Just run the cells.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceciljoseph97%2Fcaltech101histogramclassification","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceciljoseph97%2Fcaltech101histogramclassification","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceciljoseph97%2Fcaltech101histogramclassification/lists"}