java.lang.Object
unifeat.featureSelection.wrapper.GABasedMethods.BasicPopulation<Individual>
unifeat.featureSelection.wrapper.GABasedMethods.SimpleGA.Population

public class Population extends BasicPopulation<Individual>
This java class is used to implement a population of individuals in simple genetic algorithm (Simple GA) method in which the type of individual is extended from Individual class.
Author:
Sina Tabakhi
See Also:
  • Constructor Details

    • Population

      public Population()
      Initializes the parameters
  • Method Details

    • initialization

      public void initialization()
      This method initializes each individual in the population. Each individual is randomly initialized.
      Specified by:
      initialization in class BasicPopulation<Individual>
    • evaluateFitness

      public void evaluateFitness()
      This method evaluates the fitness of each individual in the population by predefined fitness function. K-fold cross validation on training set is used for evaluating the classification performance of selected feature subset by each individual.
      Specified by:
      evaluateFitness in class BasicPopulation<Individual>
    • operateSelection

      public void operateSelection()
      This method selects parents from the individuals of a population according to their fitness that will recombine for next generation.

      The selection type is selected based on selectionType by user.

      Specified by:
      operateSelection in class BasicPopulation<Individual>
    • operateCrossOver

      public void operateCrossOver()
      This method recombines (cross over) the parents to generate new offsprings.

      The crossover type is selected based on crossoverType by user.

      Specified by:
      operateCrossOver in class BasicPopulation<Individual>
    • operateMutation

      public void operateMutation()
      This method mutates new offsprings by changing the value of some genes in them.

      The mutation type is selected based on mutationType by user.

      Specified by:
      operateMutation in class BasicPopulation<Individual>
    • operateGenerationReplacement

      public void operateGenerationReplacement()
      This method handles populations from one generation to the next generation.

      The replacement type is selected based on replacementType by user.

      Specified by:
      operateGenerationReplacement in class BasicPopulation<Individual>
    • getFittestIndividual

      public Individual getFittestIndividual()
      This method returns the fittest individual in the population
      Specified by:
      getFittestIndividual in class BasicPopulation<Individual>
      Returns:
      the fittest individual in the population
    • getFitness

      public double[] getFitness()
      This method returns an array of fitness values of individuals in a population
      Specified by:
      getFitness in class BasicPopulation<Individual>
      Returns:
      an array of fitness values of individuals