Package weka.classifiers.bayes.net.search.global

# Class GeneticSearch

java.lang.Object
weka.classifiers.bayes.net.search.SearchAlgorithm
weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm
weka.classifiers.bayes.net.search.global.GeneticSearch

All Implemented Interfaces:
  `Serializable`, `OptionHandler`, `RevisionHandler`

public class GeneticSearch extends GlobalScoreSearchAlgorithm
This Bayes Network learning algorithm uses genetic search for finding a well scoring Bayes network structure. Genetic search works by having a population of Bayes network structures and allow them to mutate and apply cross over to get offspring. The best network structure found during the process is returned.

Valid options are:

     -L <integer>
      Population size

     -A <integer>
      Descendant population size

     -U <integer>
      Number of runs

     -M
      Use mutation.
      (default true)

     -C
      Use cross-over.
      (default true)

     -O
      Use tournament selection (true) or maximum subpopulatin (false).
      (default false)

     -R <seed>
      Random number seed

     -mbc
      Applies a Markov Blanket correction to the network structure,
      after a network structure is learned. This ensures that all
      nodes in the network are part of the Markov blanket of the
      classifier node.

     -S [LOO-CV|k-Fold-CV|Cumulative-CV]
      Score type (LOO-CV,k-Fold-CV,Cumulative-CV)

     -Q
      Use probabilistic or 0/1 scoring.
      (default probabilistic scoring)

Version:
  $Revision: 11247 $
Author:
  Remco Bouckaert (rrb@xm.co.nz)
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm

  `TAGS_CV_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GeneticSearch()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `descendantPopulationSizeTipText()`
  `int`
  `getDescendantPopulationSize()`
  `String[]`
  `getOptions()`
  Gets the current settings of the search algorithm.
  `int`
  `getPopulationSize()`
  `String`
  `getRevision()`
  Returns the revision string.
  `int`
  `getRuns()`
  `int`
  `getSeed()`
  `boolean`
  `getUseCrossOver()`
  `boolean`
  `getUseMutation()`
  `boolean`
  `getUseTournamentSelection()`
  `String`
  `globalInfo()`
  This will return a string describing the classifier.
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `String`
  `populationSizeTipText()`
  `String`
  `runsTipText()`
  `String`
  `seedTipText()`
  `void`
  `setDescendantPopulationSize(int iDescendantPopulationSize)`
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `void`
  `setPopulationSize(int iPopulationSize)`
  `void`
  `setRuns(int nRuns)`
  Sets the number of runs
  `void`
  `setSeed(int nSeed)`
  Sets the random number seed
  `void`
  `setUseCrossOver(boolean bUseCrossOver)`
  `void`
  `setUseMutation(boolean bUseMutation)`
  `void`
  `setUseTournamentSelection(boolean bUseTournamentSelection)`
  `String`
  `useCrossOverTipText()`
  `String`
  `useMutationTipText()`
  `String`
  `useTournamentSelectionTipText()`

  ### Methods inherited from class weka.classifiers.bayes.net.search.global.GlobalScoreSearchAlgorithm

  `calcScore, calcScoreWithExtraParent, calcScoreWithMissingParent, calcScoreWithReversedParent, cumulativeCV, CVTypeTipText, getCVType, getMarkovBlanketClassifier, getUseProb, kFoldCV, leaveOneOutCV, markovBlanketClassifierTipText, setCVType, setMarkovBlanketClassifier, setUseProb, useProbTipText`

  ### Methods inherited from class weka.classifiers.bayes.net.search.SearchAlgorithm

  `buildStructure, initAsNaiveBayesTipText, maxNrOfParentsTipText, toString`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### GeneticSearch

    public GeneticSearch()

- ## Method Details

  - ### getRuns

    public int getRuns()
    Returns:
      number of runs

  - ### setRuns

    public void setRuns(int nRuns)
    Sets the number of runs
    Parameters:
      `nRuns` - The number of runs to set

  - ### listOptions

    public Enumeration<Option> listOptions()
    Returns an enumeration describing the available options.
    Specified by:
      `listOptions` in interface `OptionHandler`
    Overrides:
      `listOptions` in class `GlobalScoreSearchAlgorithm`
    Returns:
      an enumeration of all the available options.

  - ### setOptions

    public void setOptions(String[] options) throws Exception
    Parses a given list of options.

    Valid options are:

         -L <integer>
          Population size

         -A <integer>
          Descendant population size

         -U <integer>
          Number of runs

         -M
          Use mutation.
          (default true)

         -C
          Use cross-over.
          (default true)

         -O
          Use tournament selection (true) or maximum subpopulatin (false).
          (default false)

         -R <seed>
          Random number seed

         -mbc
          Applies a Markov Blanket correction to the network structure,
          after a network structure is learned. This ensures that all
          nodes in the network are part of the Markov blanket of the
          classifier node.

         -S [LOO-CV|k-Fold-CV|Cumulative-CV]
          Score type (LOO-CV,k-Fold-CV,Cumulative-CV)

         -Q
          Use probabilistic or 0/1 scoring.
          (default probabilistic scoring)

    Specified by:
      `setOptions` in interface `OptionHandler`
    Overrides:
      `setOptions` in class `GlobalScoreSearchAlgorithm`
    Parameters:
      `options` - the list of options as an array of strings
    Throws:
      `Exception` - if an option is not supported

  - ### getOptions

    public String[] getOptions()
    Gets the current settings of the search algorithm.
    Specified by:
      `getOptions` in interface `OptionHandler`
    Overrides:
      `getOptions` in class `GlobalScoreSearchAlgorithm`
    Returns:
      an array of strings suitable for passing to setOptions

  - ### getUseCrossOver

    public boolean getUseCrossOver()
    Returns:
      whether cross-over is used

  - ### getUseMutation

    public boolean getUseMutation()
    Returns:
      whether mutation is used

  - ### getDescendantPopulationSize

    public int getDescendantPopulationSize()
    Returns:
      descendant population size

  - ### getPopulationSize

    public int getPopulationSize()
    Returns:
      population size

  - ### setUseCrossOver

    public void setUseCrossOver(boolean bUseCrossOver)
    Parameters:
      `bUseCrossOver` - sets whether cross-over is used

  - ### setUseMutation

    public void setUseMutation(boolean bUseMutation)
    Parameters:
      `bUseMutation` - sets whether mutation is used

  - ### getUseTournamentSelection

    public boolean getUseTournamentSelection()
    Returns:
      whether Tournament Selection (true) or Maximum Sub-Population (false) should be used

  - ### setUseTournamentSelection

    public void setUseTournamentSelection(boolean bUseTournamentSelection)
    Parameters:
      `bUseTournamentSelection` - sets whether Tournament Selection or Maximum Sub-Population should be used

  - ### setDescendantPopulationSize

    public void setDescendantPopulationSize(int iDescendantPopulationSize)
    Parameters:
      `iDescendantPopulationSize` - sets descendant population size

  - ### setPopulationSize

    public void setPopulationSize(int iPopulationSize)
    Parameters:
      `iPopulationSize` - sets population size

  - ### getSeed

    public int getSeed()
    Returns:
      random number seed

  - ### setSeed

    public void setSeed(int nSeed)
    Sets the random number seed
    Parameters:
      `nSeed` - The number of the seed to set

  - ### globalInfo

    public String globalInfo()
    This will return a string describing the classifier.
    Overrides:
      `globalInfo` in class `GlobalScoreSearchAlgorithm`
    Returns:
      The string.

  - ### runsTipText

    public String runsTipText()
    Returns:
      a string to describe the Runs option.

  - ### seedTipText

    public String seedTipText()
    Returns:
      a string to describe the Seed option.

  - ### populationSizeTipText

    public String populationSizeTipText()
    Returns:
      a string to describe the Population Size option.

  - ### descendantPopulationSizeTipText

    public String descendantPopulationSizeTipText()
    Returns:
      a string to describe the Descendant Population Size option.

  - ### useMutationTipText

    public String useMutationTipText()
    Returns:
      a string to describe the Use Mutation option.

  - ### useCrossOverTipText

    public String useCrossOverTipText()
    Returns:
      a string to describe the Use Cross-Over option.

  - ### useTournamentSelectionTipText

    public String useTournamentSelectionTipText()
    Returns:
      a string to describe the Use Tournament Selection option.

  - ### getRevision

    public String getRevision()
    Returns the revision string.
    Specified by:
      `getRevision` in interface `RevisionHandler`
    Overrides:
      `getRevision` in class `GlobalScoreSearchAlgorithm`
    Returns:
      the revision