Class LAGDHillClimber

All Implemented Interfaces:
Serializable, OptionHandler, RevisionHandler

public class LAGDHillClimber extends HillClimber
This Bayes Network learning algorithm uses a Look Ahead Hill Climbing algorithm called LAGD Hill Climbing. Unlike Greedy Hill Climbing it doesn't calculate a best greedy operation (adding, deleting or reversing an arc) but a sequence of nrOfLookAheadSteps operations, which leads to a network structure whose score is most likely higher in comparison to the network obtained by performing a sequence of nrOfLookAheadSteps greedy operations. 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:

 -L <nr of look ahead steps>
  Look Ahead Depth
 
 -G <nr of good operations>
  Nr of Good Operations
 
 -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: 10154 $
Author:
Manuel Neubach
See Also:
  • Constructor Details

    • LAGDHillClimber

      public LAGDHillClimber()
  • Method Details

    • setMaxNrOfParents

      public void setMaxNrOfParents(int nMaxNrOfParents)
      Sets the max number of parents
      Overrides:
      setMaxNrOfParents in class HillClimber
      Parameters:
      nMaxNrOfParents - the max number of parents
    • getMaxNrOfParents

      public int getMaxNrOfParents()
      Gets the max number of parents.
      Overrides:
      getMaxNrOfParents in class HillClimber
      Returns:
      the max number of parents
    • setNrOfLookAheadSteps

      public void setNrOfLookAheadSteps(int nNrOfLookAheadSteps)
      Sets the number of look-ahead steps
      Parameters:
      nNrOfLookAheadSteps - the number of look-ahead steps
    • getNrOfLookAheadSteps

      public int getNrOfLookAheadSteps()
      Gets the number of look-ahead steps
      Returns:
      the number of look-ahead step
    • setNrOfGoodOperations

      public void setNrOfGoodOperations(int nNrOfGoodOperations)
      Sets the number of "good operations"
      Parameters:
      nNrOfGoodOperations - the number of "good operations"
    • getNrOfGoodOperations

      public int getNrOfGoodOperations()
      Gets the number of "good operations"
      Returns:
      the number of "good operations"
    • listOptions

      public Enumeration<Option> 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(String[] options) throws Exception
      Parses a given list of options. Valid options are:

      Valid options are:

       -L <nr of look ahead steps>
        Look Ahead Depth
       
       -G <nr of good operations>
        Nr of Good Operations
       
       -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:
      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 HillClimber
      Returns:
      an array of strings suitable for passing to setOptions
    • globalInfo

      public String globalInfo()
      This will return a string describing the search algorithm.
      Overrides:
      globalInfo in class HillClimber
      Returns:
      The string.
    • nrOfLookAheadStepsTipText

      public String nrOfLookAheadStepsTipText()
      Returns:
      a string to describe the Number of Look Ahead Steps option.
    • nrOfGoodOperationsTipText

      public String nrOfGoodOperationsTipText()
      Returns:
      a string to describe the Number of Good Operations option.
    • getRevision

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