Class HillClimber

  • All Implemented Interfaces:
    java.io.Serializable, OptionHandler, RevisionHandler
    Direct Known Subclasses:
    RepeatedHillClimber, TabuSearch

    public class HillClimber
    extends GlobalScoreSearchAlgorithm
    This Bayes Network learning algorithm uses a hill climbing algorithm adding, deleting and reversing arcs. The search is not restricted by an order on the variables (unlike K2). The difference with B and B2 is that this hill climber also considers arrows part of the naive Bayes structure for deletion.

    Valid options are:

     -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 [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.9 $
    Author:
    Remco Bouckaert (rrb@xm.co.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • HillClimber

        public HillClimber()
    • Method Detail

      • setMaxNrOfParents

        public void setMaxNrOfParents​(int nMaxNrOfParents)
        Sets the max number of parents
        Parameters:
        nMaxNrOfParents - the max number of parents
      • getMaxNrOfParents

        public int getMaxNrOfParents()
        Gets the max number of parents.
        Returns:
        the max number of parents
      • setOptions

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

        Valid options are:

         -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 [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:
        java.lang.Exception - if an option is not supported
      • setInitAsNaiveBayes

        public void setInitAsNaiveBayes​(boolean bInitAsNaiveBayes)
        Sets whether to init as naive bayes
        Parameters:
        bInitAsNaiveBayes - whether to init as naive bayes
      • getInitAsNaiveBayes

        public boolean getInitAsNaiveBayes()
        Gets whether to init as naive bayes
        Returns:
        whether to init as naive bayes
      • getUseArcReversal

        public boolean getUseArcReversal()
        get use the arc reversal operation
        Returns:
        whether the arc reversal operation should be used
      • setUseArcReversal

        public void setUseArcReversal​(boolean bUseArcReversal)
        set use the arc reversal operation
        Parameters:
        bUseArcReversal - whether the arc reversal operation should be used
      • globalInfo

        public java.lang.String globalInfo()
        This will return a string describing the search algorithm.
        Overrides:
        globalInfo in class GlobalScoreSearchAlgorithm
        Returns:
        The string.
      • useArcReversalTipText

        public java.lang.String useArcReversalTipText()
        Returns:
        a string to describe the Use Arc Reversal option.