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:
java.io.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: 1.5 $
- 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringdescendantPopulationSizeTipText()intgetDescendantPopulationSize()java.lang.String[]getOptions()Gets the current settings of the search algorithm.intgetPopulationSize()java.lang.StringgetRevision()Returns the revision string.intgetRuns()intgetSeed()booleangetUseCrossOver()booleangetUseMutation()booleangetUseTournamentSelection()java.lang.StringglobalInfo()This will return a string describing the classifier.java.util.EnumerationlistOptions()Returns an enumeration describing the available options.java.lang.StringpopulationSizeTipText()java.lang.StringrunsTipText()java.lang.StringseedTipText()voidsetDescendantPopulationSize(int iDescendantPopulationSize)voidsetOptions(java.lang.String[] options)Parses a given list of options.voidsetPopulationSize(int iPopulationSize)voidsetRuns(int nRuns)Sets the number of runsvoidsetSeed(int nSeed)Sets the random number seedvoidsetUseCrossOver(boolean bUseCrossOver)voidsetUseMutation(boolean bUseMutation)voidsetUseTournamentSelection(boolean bUseTournamentSelection)java.lang.StringuseCrossOverTipText()java.lang.StringuseMutationTipText()java.lang.StringuseTournamentSelectionTipText()-
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
-
-
-
-
Method Detail
-
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 java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classGlobalScoreSearchAlgorithm- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionParses 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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classGlobalScoreSearchAlgorithm- Parameters:
options- the list of options as an array of strings- Throws:
java.lang.Exception- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the search algorithm.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classGlobalScoreSearchAlgorithm- 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 java.lang.String globalInfo()
This will return a string describing the classifier.- Overrides:
globalInfoin classGlobalScoreSearchAlgorithm- Returns:
- The string.
-
runsTipText
public java.lang.String runsTipText()
- Returns:
- a string to describe the Runs option.
-
seedTipText
public java.lang.String seedTipText()
- Returns:
- a string to describe the Seed option.
-
populationSizeTipText
public java.lang.String populationSizeTipText()
- Returns:
- a string to describe the Population Size option.
-
descendantPopulationSizeTipText
public java.lang.String descendantPopulationSizeTipText()
- Returns:
- a string to describe the Descendant Population Size option.
-
useMutationTipText
public java.lang.String useMutationTipText()
- Returns:
- a string to describe the Use Mutation option.
-
useCrossOverTipText
public java.lang.String useCrossOverTipText()
- Returns:
- a string to describe the Use Cross-Over option.
-
useTournamentSelectionTipText
public java.lang.String useTournamentSelectionTipText()
- Returns:
- a string to describe the Use Tournament Selection option.
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classGlobalScoreSearchAlgorithm- Returns:
- the revision
-
-