11# Jx-WFST : A Wrapper Feature Selection Toolbox
2+
3+ [ ![ View Wrapper Feature Selection Toolbox on File Exchange] ( https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg )] ( https://www.mathworks.com/matlabcentral/fileexchange/84139-wrapper-feature-selection-toolbox )
4+ [ ![ License] ( https://img.shields.io/badge/license-BSD_3-yellow.svg )] ( https://github.com/JingweiToo/Wrapper-Feature-Selection-Toolbox/blob/main/LICENSE )
5+ [ ![ GitHub release] ( https://img.shields.io/badge/release-1.1-green.svg )] ( https://github.com/JingweiToo/Wrapper-Feature-Selection-Toolbox )
6+
27---
38> "Toward Talent Scientist: Sharing and Learning Together"
49> --- [ Jingwei Too] ( https://jingweitoo.wordpress.com/ )
1015## Introduction
1116
1217* This toolbox offers more than 40 wrapper feature selection methods
13- * The < A_Main.m file > provides the examples of how to apply these methods on benchmark dataset
18+ * The ` A_Main ` file provides the examples of how to apply these methods on benchmark dataset
1419* Source code of these methods are written based on pseudocode & paper
1520
1621
1924 + Assists others in data mining projects
2025
2126## Usage
22- The main function * jfs* is adopted to perform feature selection. You may switch the algorithm by changing the 'pso' to [ other abbreviations] ( /README.md#list-of-available-wrapper-feature-selection-methods )
27+ The main function ` jfs ` is adopted to perform feature selection. You may switch the algorithm by changing the ` 'pso' ` to [ other abbreviations] ( /README.md#list-of-available-wrapper-feature-selection-methods )
2328* If you wish to use particle swarm optimization ( see example 1 ) then you may write
2429``` code
2530FS = jfs('pso',feat,label,opts);
@@ -30,29 +35,29 @@ FS = jfs('sma',feat,label,opts);
3035```
3136
3237## Input
33- * * feat* : feature vector matrix ( Instance * x* Features )
34- * * label* : label matrix ( Instance * x* 1 )
35- * * opts* : parameter settings
36- + * N * : number of solutions / population size ( * for all methods* )
37- + * T * : maximum number of iterations ( * for all methods* )
38- + * k * : * k* -value in * k* -nearest neighbor
38+ * * ` feat ` * : feature vector matrix ( Instance * x* Features )
39+ * * ` label ` * : label matrix ( Instance * x* 1 )
40+ * * ` opts ` * : parameter settings
41+ + * ` N ` * : number of solutions / population size ( * for all methods* )
42+ + * ` T ` * : maximum number of iterations ( * for all methods* )
43+ + * ` k ` * : * k* -value in * k* -nearest neighbor
3944
4045
4146## Output
42- * * Acc* : accuracy of validation model
43- * * FS * : feature selection model ( It contains several results )
44- + * sf * : index of selected features
45- + * ff * : selected features
46- + * nf * : number of selected features
47- + * c * : convergence curve
48- + * t * : computational time (s)
47+ * * ` Acc ` * : accuracy of validation model
48+ * * ` FS ` * : feature selection model ( It contains several results )
49+ + * ` sf ` * : index of selected features
50+ + * ` ff ` * : selected features
51+ + * ` nf ` * : number of selected features
52+ + * ` c ` * : convergence curve
53+ + * ` t ` * : computational time (s)
4954
5055
5156## Notation
5257Some methods have their specific parameters ( example: PSO, GA, DE ), and if you do not set them then they will be defined as default settings
53- * you may open the < m.file > to view or change the parameters
54- * you may use * opts* to set the parameters of method ( see example 1 or refer [ here] ( /Description.md ) )
55- * you may also change the < jFitnessFunction.m file >
58+ * you may open the * m.file* to view or change the parameters
59+ * you may use * ` opts ` * to set the parameters of method ( see example 1 or refer [ here] ( /Description.md ) )
60+ * you may also change the fitness function in ` jFitnessFunction ` file
5661
5762
5863### Example 1 : Particle Swarm Optimization ( PSO )
@@ -168,54 +173,54 @@ title('WOA');
168173* Note that the methods are altered so that they can be used in feature selection tasks
169174* The extra parameters represent the parameter(s) other than population size and maximum number of iterations
170175* Click on the name of method to view the extra parameter(s)
171- * Use the * opts* to set the specific parameter(s)
176+ * Use the * ` opts ` * to set the specific parameter(s)
172177
173178
174179| No. | Abbreviation | Name | Year | Extra Parameters |
175180| -----| --------------| ---------------------------------------------------------------------------------------------| ------| ------------------|
176- | 43 | 'mpa' | [ Marine Predators Algorithm] ( /Description.md#marine-predators-algorithm-mpa ) | 2020 | Yes |
177- | 42 | 'gndo' | Generalized Normal Distribution Optimization | 2020 | No |
178- | 41 | 'sma' | Slime Mould Algorithm | 2020 | No |
179- | 40 | . mrfo' | [ Manta Ray Foraging Optimization] ( /Description.md#manta-ray-foraging-optimization-mrfo ) | 2020 | Yes |
180- | 39 | 'eo' | [ Equilibrium Optimizer] ( /Description.md#equilibrium-optimizer-eo ) | 2020 | Yes |
181- | 38 | 'aso' | [ Atom Search Optimization] ( /Description.md#atom-search-optimization-aso ) | 2019 | Yes |
182- | 37 | 'hgso' | [ Henry Gas Solubility Optimization] ( /Description.md#henry-gas-solubility-optimization-hgso ) | 2019 | Yes |
183- | 36 | 'hho' | Harris Hawks Optimization | 2019 | No |
184- | 35 | 'pfa' | Path Finder Algorithm | 2019 | No |
185- | 34 | 'pro' | [ Poor And Rich Optimization] ( /Description.md#poor-and-rich-optimization-pro ) | 2019 | Yes |
186- | 33 | 'boa' | [ Butterfly Optimization Algorithm] ( /Description.md#butterfly-optimization-algorithm-boa ) | 2018 | Yes |
187- | 32 | 'epo' | [ Emperor Penguin Optimizer] ( /Description.md#emperor-penguin-optimizer-epo ) | 2018 | Yes |
188- | 31 | 'tga' | [ Tree Growth Algorithm] ( /Description.md#tree-growth-algorithm-tga ) | 2018 | Yes |
189- | 30 | 'abo' | [ Artificial Butterfly Optimization] ( /Description.md#artificial-butterfly-optimization-abo ) | 2017 | Yes |
190- | 29 | 'ssa' | Salp Swarm Algorithm | 2017 | No |
191- | 28 | 'wsa' | [ Weighted Superposition Attraction] ( /Description.md#weighted-superposition-attraction-wsa ) | 2017 | Yes |
192- | 27 | 'sbo' | [ Satin Bower Bird Optimization] ( /Description.md#satin-bower-bird-optimization-sbo ) | 2017 | Yes |
193- | 26 | 'ja' | Jaya Algorithm | 2016 | No |
194- | 25 | 'csa' | [ Crow Search Algorithm] ( /Description.md#crow-search-algorithm-csa ) | 2016 | Yes |
195- | 24 | 'sca' | [ Sine Cosine Algorithm] ( /Description.md#sine-cosine-algorithm-sca ) | 2016 | Yes |
196- | 23 | 'woa' | [ Whale Optimization Algorithm] ( /Description.md#whale-optimization-algorithm-woa ) | 2016 | Yes |
197- | 22 | 'alo' | Ant Lion Optimizer | 2015 | No |
198- | 21 | 'hlo' | [ Human Learning Optimization] ( /Description.md#human-learning-optimization-hlo ) | 2015 | Yes |
199- | 20 | 'mbo' | [ Monarch Butterfly Optimization] ( /Description.md#monarch-butterfly-optimization-mbo ) | 2015 | Yes |
200- | 19 | 'mfo' | [ Moth Flame Optimization] ( /Description.md#moth-flame-optimization-mfo ) | 2015 | Yes |
201- | 18 | 'mvo' | [ Multiverse Optimizer] ( /Description.md#multi-verse-optimizer-mvo ) | 2015 | Yes |
202- | 17 | 'tsa' | [ Tree Seed Algorithm] ( /Description.md#tree-seed-algorithm-tsa ) | 2015 | Yes |
203- | 16 | 'gwo' | Grey Wolf Optimizer | 2014 | No |
204- | 15 | 'sos' | Symbiotic Organisms Search | 2014 | No |
205- | 14 | 'fpa' | [ Flower Pollination Algorithm] ( /Description.md#flower-pollination-algorithm-fpa ) | 2012 | Yes |
206- | 13 | 'foa' | Fruitfly Optimization Algorithm | 2012 | No |
207- | 12 | 'ba' | [ Bat Algorithm] ( /Description.md#bat-algorithm-ba ) | 2010 | Yes |
208- | 11 | 'fa' | [ Firefly Algorithm] ( /Description.md#firefly-algorithm-fa ) | 2010 | Yes |
209- | 10 | 'cs' | [ Cuckoo Search Algorithm] ( /Description.md#cuckoo-search-cs ) | 2009 | Yes |
210- | 09 | 'gsa' | [ Gravitational Search Algorithm] ( /Description.md#gravitational-search-algorithm-gsa ) | 2009 | Yes |
211- | 08 | 'abc' | [ Artificial Bee Colony] ( /Description.md#artificial-bee-colony-abc ) | 2007 | Yes |
212- | 07 | 'hs' | [ Harmony Search] ( /Description.md#harmony-search-hs ) | - | Yes |
213- | 06 | 'de' | [ Differential Evolution] ( /Description.md#differential-evolution-de ) | 1997 | Yes |
214- | 05 | 'aco' | [ Ant Colony Optimization] ( /Description.md#ant-colony-optimization-aco ) | - | Yes |
215- | 04 | 'acs' | [ Ant Colony System] ( /Description.md#ant-colony-system-acs ) | - | Yes |
216- | 03 | 'pso' | [ Particle Swarm Optimization] ( /Description.md#particle-swarm-optimization-pso ) | 1995 | Yes |
217- | 02 | 'ga' / 'gat' | [ Genetic Algorithm] ( /Description.md#genetic-algorithm-ga ) | - | Yes |
218- | 01 | 'sa' | [ Simulated Annealing] ( /Description.md#simulated-annealing-sa ) | - | Yes |
181+ | 43 | ` 'mpa' ` | [ Marine Predators Algorithm] ( /Description.md#marine-predators-algorithm-mpa ) | 2020 | Yes |
182+ | 42 | ` 'gndo' ` | Generalized Normal Distribution Optimization | 2020 | No |
183+ | 41 | ` 'sma' ` | Slime Mould Algorithm | 2020 | No |
184+ | 40 | ` ' mrfo'` | [ Manta Ray Foraging Optimization] ( /Description.md#manta-ray-foraging-optimization-mrfo ) | 2020 | Yes |
185+ | 39 | ` 'eo' ` | [ Equilibrium Optimizer] ( /Description.md#equilibrium-optimizer-eo ) | 2020 | Yes |
186+ | 38 | ` 'aso' ` | [ Atom Search Optimization] ( /Description.md#atom-search-optimization-aso ) | 2019 | Yes |
187+ | 37 | ` 'hgso' ` | [ Henry Gas Solubility Optimization] ( /Description.md#henry-gas-solubility-optimization-hgso ) | 2019 | Yes |
188+ | 36 | ` 'hho' ` | Harris Hawks Optimization | 2019 | No |
189+ | 35 | ` 'pfa' ` | Path Finder Algorithm | 2019 | No |
190+ | 34 | ` 'pro' ` | [ Poor And Rich Optimization] ( /Description.md#poor-and-rich-optimization-pro ) | 2019 | Yes |
191+ | 33 | ` 'boa' ` | [ Butterfly Optimization Algorithm] ( /Description.md#butterfly-optimization-algorithm-boa ) | 2018 | Yes |
192+ | 32 | ` 'epo' ` | [ Emperor Penguin Optimizer] ( /Description.md#emperor-penguin-optimizer-epo ) | 2018 | Yes |
193+ | 31 | ` 'tga' ` | [ Tree Growth Algorithm] ( /Description.md#tree-growth-algorithm-tga ) | 2018 | Yes |
194+ | 30 | ` 'abo' ` | [ Artificial Butterfly Optimization] ( /Description.md#artificial-butterfly-optimization-abo ) | 2017 | Yes |
195+ | 29 | ` 'ssa' ` | Salp Swarm Algorithm | 2017 | No |
196+ | 28 | ` 'wsa' ` | [ Weighted Superposition Attraction] ( /Description.md#weighted-superposition-attraction-wsa ) | 2017 | Yes |
197+ | 27 | ` 'sbo' ` | [ Satin Bower Bird Optimization] ( /Description.md#satin-bower-bird-optimization-sbo ) | 2017 | Yes |
198+ | 26 | ` 'ja' ` | Jaya Algorithm | 2016 | No |
199+ | 25 | ` 'csa' ` | [ Crow Search Algorithm] ( /Description.md#crow-search-algorithm-csa ) | 2016 | Yes |
200+ | 24 | ` 'sca' ` | [ Sine Cosine Algorithm] ( /Description.md#sine-cosine-algorithm-sca ) | 2016 | Yes |
201+ | 23 | ` 'woa' ` | [ Whale Optimization Algorithm] ( /Description.md#whale-optimization-algorithm-woa ) | 2016 | Yes |
202+ | 22 | ` 'alo' ` | Ant Lion Optimizer | 2015 | No |
203+ | 21 | ` 'hlo' ` | [ Human Learning Optimization] ( /Description.md#human-learning-optimization-hlo ) | 2015 | Yes |
204+ | 20 | ` 'mbo' ` | [ Monarch Butterfly Optimization] ( /Description.md#monarch-butterfly-optimization-mbo ) | 2015 | Yes |
205+ | 19 | ` 'mfo' ` | [ Moth Flame Optimization] ( /Description.md#moth-flame-optimization-mfo ) | 2015 | Yes |
206+ | 18 | ` 'mvo' ` | [ Multiverse Optimizer] ( /Description.md#multi-verse-optimizer-mvo ) | 2015 | Yes |
207+ | 17 | ` 'tsa' ` | [ Tree Seed Algorithm] ( /Description.md#tree-seed-algorithm-tsa ) | 2015 | Yes |
208+ | 16 | ` 'gwo' ` | Grey Wolf Optimizer | 2014 | No |
209+ | 15 | ` 'sos' ` | Symbiotic Organisms Search | 2014 | No |
210+ | 14 | ` 'fpa' ` | [ Flower Pollination Algorithm] ( /Description.md#flower-pollination-algorithm-fpa ) | 2012 | Yes |
211+ | 13 | ` 'foa' ` | Fruitfly Optimization Algorithm | 2012 | No |
212+ | 12 | ` 'ba' ` | [ Bat Algorithm] ( /Description.md#bat-algorithm-ba ) | 2010 | Yes |
213+ | 11 | ` 'fa' ` | [ Firefly Algorithm] ( /Description.md#firefly-algorithm-fa ) | 2010 | Yes |
214+ | 10 | ` 'cs' ` | [ Cuckoo Search Algorithm] ( /Description.md#cuckoo-search-cs ) | 2009 | Yes |
215+ | 09 | ` 'gsa' ` | [ Gravitational Search Algorithm] ( /Description.md#gravitational-search-algorithm-gsa ) | 2009 | Yes |
216+ | 08 | ` 'abc' ` | [ Artificial Bee Colony] ( /Description.md#artificial-bee-colony-abc ) | 2007 | Yes |
217+ | 07 | ` 'hs' ` | [ Harmony Search] ( /Description.md#harmony-search-hs ) | - | Yes |
218+ | 06 | ` 'de' ` | [ Differential Evolution] ( /Description.md#differential-evolution-de ) | 1997 | Yes |
219+ | 05 | ` 'aco' ` | [ Ant Colony Optimization] ( /Description.md#ant-colony-optimization-aco ) | - | Yes |
220+ | 04 | ` 'acs' ` | [ Ant Colony System] ( /Description.md#ant-colony-system-acs ) | - | Yes |
221+ | 03 | ` 'pso' ` | [ Particle Swarm Optimization] ( /Description.md#particle-swarm-optimization-pso ) | 1995 | Yes |
222+ | 02 | ` 'ga'/ 'gat' ` | [ Genetic Algorithm] ( /Description.md#genetic-algorithm-ga ) | - | Yes |
223+ | 01 | ` 'sa' ` | [ Simulated Annealing] ( /Description.md#simulated-annealing-sa ) | - | Yes |
219224
220225
221226
0 commit comments