Home \ Machine Learning \ Feature Selection using Metaheuristics and EAs

Feature Selection using Metaheuristics and EAs

Feature selection is one of common preprocessing tasks, which is performed to reduce the number of inputs of intelligent algorithms and models. This helps us to simplify the models, reduce the computation cost of model training, and enhance the generalization abilities of the model and prevention of over-training. For more information on feature selection concepts and methods, you can refer to the related article on Wikipedia, in this link.

In this post, we are going to share with you, the MATLAB implementation of Evolutionary Feature Selection for training of feed-forward Artificial Neural Networks (ANNs). In this example, a Multi-Layer Perceptron (MLP) is used to solve a nonlinear regression problem, to predict the body fat percentage, using a set of 13 physical measurements.

The problem of feature selection problem is stated and solved in several forms in this project:

  • Selection of variable number of features, using
    • Binary Genetic Algorithm
  • Selection of fixed and predetermined number of features, e.g. the most important 5 features:
    • As a discrete combinatorial optimization problem, using
      • Ant Colony Optimization (ACO)
      • Simulated Annealing (SA)
    • As a real-valued optimization problem, using
      • Particle Swarm Optimization (PSO)
  • Multi-Objective Feature Selection, using
    • Non-dominated Sorting Genetic Algorithm II (NSGA-II)

If you are familiar with the concepts of MATLAB programming, you will find it easy, to use the source codes provided in this post, in your research and projects.


The download link of this project follows.

MATLAB Implemenattion of Feature Selection using Metaheuristics and Evolutionary Algorithms


Citing This Work

If you wish, you can cite this content as follows.

Cite as:

Mostapha Kalami Heris, Feature Selection using Metaheuristics and EAs (URL: https://yarpiz.com/306/ypml122-evolutionary-feature-selection), Yarpiz, 2015.


  1. thanks and useful for our students and teaching .

  2. Thanks a lot and good code.
    Can be sued fro discussions and solving problems

  3. Assalamualaikum

    I am new to machine learning. I have also gone through machine learning techniques on your YARPIZ page. I want to apply Machine Learning concept for decision making in flexible manufacturing systems.
    Kindly suggest some text/reference/algorithm which is useful for my problem.
    JazakAllah khair

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.


Check Also

Group Method of Data Handling (GMDH) in MATLAB

Group Method of Data Handling (GMDH) is a family of mathematical modeling and nonlinear regression ...