A Data Science Central Community
Whenever we use evolutionary algorithms like GA, PSO to extract 'if-then' rules for classification or regression purpose, we noticed that the set of rules keep changing in every run of the code. How to make the rules random seed independent? Any help is gratefully acknowledged - Dr Ravi
What does one individual represent in your GA or PSO runs? I.e., is your resulting rule set represented by one individual, or by a set of coevolved individuals? If the former, you could try seeding a new GA/PSO population with all of the best individual rulesets from your runs with different seeds, and run it to see how the rulesets evolve in the presence of each other. The latter case is more complicated, and you may just have to directly test one ruleset against another on a validation dataset (you can do this in the former case as well).
Also, if your problem is such that there may be many different rule sets that are equivalently fit overall but that have different strengths and weaknesses (i.e. they are each Pareto optimal), you might look at the multi-objective evolutionary optimization literature for strategies on how to evolve *sets* of rulesets that cover the Pareto front, to give you a sense of the rulespace. (E.g. see "Multi-objective optimization using evolutionary algorithms" by Kalyanmoy Deb, or "Evolutionary algorithms for solving multi-objective problems" by Carlos Coello Coello et al.)
Finally, you may be able to look at your evolved rulesets to see if there are any general strategies or principles that you can extract, to manually generalize the results. (Data visualization techniques or statistics may help here.)
Hope that helps.
Hi Mr Ted,
Many thanks for the useful pointers. We shall implememt them and share with you our experience.
Thx n rgds,