https://github.com/kennethleungty/simulated-annealing-feature-selection
Feature Selection using Simulated Annealing
https://github.com/kennethleungty/simulated-annealing-feature-selection
annealing data-science feature-engineering feature-selection global-optima global-optimization global-optimization-algorithms global-optimizers global-search global-searching machine-learning ml optimisation optimisation-algorithms optimization optimization-algorithms python search simulated-annealing
Last synced: 7 months ago
JSON representation
Feature Selection using Simulated Annealing
- Host: GitHub
- URL: https://github.com/kennethleungty/simulated-annealing-feature-selection
- Owner: kennethleungty
- License: mit
- Created: 2022-08-07T08:33:57.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-10T02:19:11.000Z (almost 3 years ago)
- Last Synced: 2024-01-27T16:00:53.128Z (over 1 year ago)
- Topics: annealing, data-science, feature-engineering, feature-selection, global-optima, global-optimization, global-optimization-algorithms, global-optimizers, global-search, global-searching, machine-learning, ml, optimisation, optimisation-algorithms, optimization, optimization-algorithms, python, search, simulated-annealing
- Language: Jupyter Notebook
- Homepage: https://towardsdatascience.com/feature-selection-with-simulated-annealing-in-python-clearly-explained-1808db14f8fa
- Size: 962 KB
- Stars: 10
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Feature Selection with Simulated Annealing in Python, Clearly Explained
### Concepts and Python implementation of the global search algorithm to select the best features for machine learning
___
TowardsDataScience article: https://towardsdatascience.com/feature-selection-with-simulated-annealing-in-python-clearly-explained-1808db14f8fa
___
### Context
Feature selection is a key step in machine learning as it boosts computational efficiency and predictive performance by keeping only the most relevant predictors.Beyond the popular supervised feature selection classes like filter and wrapper methods, global search methods like simulated annealing are also powerful techniques at our disposal.
In this project, we delve into the theory and application of simulated annealing for feature selection.
___
### Project Structure
- `data`: Titanic dataset (raw and processed)
- `images`: Set of images and visualizations used to demonstrate algorithm
- `notebooks`: Jupyter notebooks for the different steps of the project i.e. data pre-processing, baseline modeling, and running of feature selection with simulated annealing algorithm
- `results`: CSV files of the output from algorithm runs
- `src`: Python scripts for simulated annealing algorithm for feature selection
- `main.py`: Main script containing algorithm. In CLI, `cd` into `src` folder, then execute `python main.py`
- `utils.py`: Utils script containing ML model function (i.e. random forest classifier)
___
### References
- https://researchgate.net/publication/227061666_Computing_the_Initial_Temperature_of_Simulated_Annealing
- https://search.r-project.org/CRAN/refmans/caret/html/safs.html
- https://iopscience.iop.org/article/10.1088/1742-6596/1752/1/012030/pdf
- https://topepo.github.io/caret/feature-selection-using-simulated-annealing.html
- https://www.slideshare.net/kaalnath/simulated-annealingppt
- https://santhoshhari.github.io/simulated_annealing/
- https://www.feat.engineering/simulated-annealing.html
- https://towardsdatascience.com/optimization-techniques-simulated-annealing-d6a4785a1de7
- https://www.sciencedirect.com/science/article/abs/pii/S0377221704005892
- https://www.youtube.com/watch?v=Dp1irQX-c0Q&ab_channel=Udacity
- https://link.springer.com/article/10.1007/s10878-020-00607-y
- https://arxiv.org/pdf/1906.01504.pdf