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.String
descendantPopulationSizeTipText()
int
getDescendantPopulationSize()
java.lang.String[]
getOptions()
Gets the current settings of the search algorithm.int
getPopulationSize()
java.lang.String
getRevision()
Returns the revision string.int
getRuns()
int
getSeed()
boolean
getUseCrossOver()
boolean
getUseMutation()
boolean
getUseTournamentSelection()
java.lang.String
globalInfo()
This will return a string describing the classifier.java.util.Enumeration
listOptions()
Returns an enumeration describing the available options.java.lang.String
populationSizeTipText()
java.lang.String
runsTipText()
java.lang.String
seedTipText()
void
setDescendantPopulationSize(int iDescendantPopulationSize)
void
setOptions(java.lang.String[] options)
Parses a given list of options.void
setPopulationSize(int iPopulationSize)
void
setRuns(int nRuns)
Sets the number of runsvoid
setSeed(int nSeed)
Sets the random number seedvoid
setUseCrossOver(boolean bUseCrossOver)
void
setUseMutation(boolean bUseMutation)
void
setUseTournamentSelection(boolean bUseTournamentSelection)
java.lang.String
useCrossOverTipText()
java.lang.String
useMutationTipText()
java.lang.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
-
-
-
-
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:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classGlobalScoreSearchAlgorithm
- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.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 interfaceOptionHandler
- Overrides:
setOptions
in 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:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in 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:
globalInfo
in 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:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classGlobalScoreSearchAlgorithm
- Returns:
- the revision
-
-