{"id":26868947,"url":"https://github.com/mbayraktar12/pso-hyperparameter-selection","last_synced_at":"2025-03-31T05:35:49.000Z","repository":{"id":224137269,"uuid":"762308399","full_name":"mBayraktar12/PSO-Hyperparameter-Selection","owner":"mBayraktar12","description":"Hyperparameter selection on machine learning models using Particle Swarm Optimization","archived":false,"fork":false,"pushed_at":"2024-05-26T22:43:29.000Z","size":29,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T12:36:25.996Z","etag":null,"topics":["hyperparameter-optimization","hyperparameter-search","hyperparameter-tuning","machine-learning","optimization","optimization-algorithms","particle-swarm-optimization","pso","pso-algorithm","python","swarm-intelligence","swarm-intelligence-algorithms"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mBayraktar12.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-02-23T14:07:41.000Z","updated_at":"2025-02-12T08:54:02.000Z","dependencies_parsed_at":"2024-03-07T17:58:11.544Z","dependency_job_id":"46dfdd1b-cb64-4257-95e2-5f5efd8dae3e","html_url":"https://github.com/mBayraktar12/PSO-Hyperparameter-Selection","commit_stats":null,"previous_names":["mbayraktar12/pso-hyperparameter-selection"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBayraktar12%2FPSO-Hyperparameter-Selection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBayraktar12%2FPSO-Hyperparameter-Selection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBayraktar12%2FPSO-Hyperparameter-Selection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mBayraktar12%2FPSO-Hyperparameter-Selection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mBayraktar12","download_url":"https://codeload.github.com/mBayraktar12/PSO-Hyperparameter-Selection/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246423502,"owners_count":20774796,"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":["hyperparameter-optimization","hyperparameter-search","hyperparameter-tuning","machine-learning","optimization","optimization-algorithms","particle-swarm-optimization","pso","pso-algorithm","python","swarm-intelligence","swarm-intelligence-algorithms"],"created_at":"2025-03-31T05:35:48.465Z","updated_at":"2025-03-31T05:35:48.992Z","avatar_url":"https://github.com/mBayraktar12.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Particle Swarm Optimization (PSO) Hyperparameter Optimization\n\nThis Python module implements hyperparameter optimization using Particle Swarm Optimization (PSO) for various machine learning algorithms in classification task. PSO is a population-based optimization technique inspired by the social behavior of birds flocking or fish schooling.\n\n## Overview\n\nThe PSOOptimizer class provided in this module allows users to optimize hyperparameters for four different types of machine learning algorithms:\n\n* K-Nearest Neighbors (KNN)\n* Random Forest (RF)\n* Decision Tree (DT)\n* Support Vector Classifier (SVC)\n\nThe optimization process aims to find the best set of hyperparameters that maximize the accuracy of the respective classifier on a given dataset.\n\n## Requirements\n\n- Python 3.x\n- Required Python packages: numpy, joblib, scikit-learn, tqdm\n\nMake sure to install these dependencies using pip before using the module.\n\n\n\n## Usage\n\n1. Install the `pso-optimizer` library:\n\n```bash\npip install pso-optimizer\n```\n2. Example usage is in `main.py` file.\n\nFiles\n* `main.py`: The main script to run PSO hyperparameter optimization.\n* `pso_optimizer.py`: Contains the PSOOptimizer class for PSO optimization.\n* `hyperparameter_mappings.py`: Contains mappings for hyperparameters used in different machine learning models.\n* `README.md`: This file.\n\n## Acknowledgments\n\nThe implementation of PSO hyperparameter optimization is inspired by the paper \"The Particle Swarm — Explosion, Stability, and Convergence in a Multidimensional Complex Space\" by Clerc and Kennedy.\n\n## Citation\n\nIf you use this package in your work, please cite it using the following information:\n@software{pso_optimizer,\n  author       = {Mert Bayraktar},\n  year         = {2024},\n  publisher    = {GitHub},\n  journal      = {GitHub repository},\n  howpublished = {\\url{https://github.com/mBayraktar12/PSO-Hyperparameter-Selection/tree/main}},\n  version      = {1.0.0}\n}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbayraktar12%2Fpso-hyperparameter-selection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbayraktar12%2Fpso-hyperparameter-selection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbayraktar12%2Fpso-hyperparameter-selection/lists"}