Class RepeatedHillClimber

  • All Implemented Interfaces:
    java.io.Serializable, OptionHandler, RevisionHandler

    public class RepeatedHillClimber
    extends HillClimber
    This Bayes Network learning algorithm repeatedly uses hill climbing starting with a randomly generated network structure and return the best structure of the various runs.

    Valid options are:

     -U <integer>
      Number of runs
     -A <seed>
      Random number seed
     -P <nr of parents>
      Maximum number of parents
     -R
      Use arc reversal operation.
      (default false)
     -N
      Initial structure is empty (instead of Naive Bayes)
     -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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES]
      Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
    Version:
    $Revision: 1.6 $
    Author:
    Remco Bouckaert (rrb@xm.co.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • RepeatedHillClimber

        public RepeatedHillClimber()
    • 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
      • 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
      • listOptions

        public java.util.Enumeration listOptions()
        Returns an enumeration describing the available options.
        Specified by:
        listOptions in interface OptionHandler
        Overrides:
        listOptions in class HillClimber
        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:

         -U <integer>
          Number of runs
         -A <seed>
          Random number seed
         -P <nr of parents>
          Maximum number of parents
         -R
          Use arc reversal operation.
          (default false)
         -N
          Initial structure is empty (instead of Naive Bayes)
         -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 [BAYES|MDL|ENTROPY|AIC|CROSS_CLASSIC|CROSS_BAYES]
          Score type (BAYES, BDeu, MDL, ENTROPY and AIC)
        Specified by:
        setOptions in interface OptionHandler
        Overrides:
        setOptions in class HillClimber
        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 interface OptionHandler
        Overrides:
        getOptions in class HillClimber
        Returns:
        an array of strings suitable for passing to setOptions
      • globalInfo

        public java.lang.String globalInfo()
        This will return a string describing the classifier.
        Overrides:
        globalInfo in class HillClimber
        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.