Class BMAEstimator

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

    public class BMAEstimator
    extends SimpleEstimator
    BMAEstimator estimates conditional probability tables of a Bayes network using Bayes Model Averaging (BMA).

    Valid options are:

     -k2
      Whether to use K2 prior.
     
     -A <alpha>
      Initial count (alpha)
     
    Version:
    $Revision: 1.8 $
    Author:
    Remco Bouckaert (rrb@xm.co.nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • BMAEstimator

        public BMAEstimator()
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing this object
        Overrides:
        globalInfo in class SimpleEstimator
        Returns:
        a description of the classifier suitable for displaying in the explorer/experimenter gui
      • estimateCPTs

        public void estimateCPTs​(BayesNet bayesNet)
                          throws java.lang.Exception
        estimateCPTs estimates the conditional probability tables for the Bayes Net using the network structure.
        Overrides:
        estimateCPTs in class SimpleEstimator
        Parameters:
        bayesNet - the bayes net to use
        Throws:
        java.lang.Exception - if an error occurs
      • updateClassifier

        public void updateClassifier​(BayesNet bayesNet,
                                     Instance instance)
                              throws java.lang.Exception
        Updates the classifier with the given instance.
        Overrides:
        updateClassifier in class SimpleEstimator
        Parameters:
        bayesNet - the bayes net to use
        instance - the new training instance to include in the model
        Throws:
        java.lang.Exception - if the instance could not be incorporated in the model.
      • initCPTs

        public void initCPTs​(BayesNet bayesNet)
                      throws java.lang.Exception
        initCPTs reserves space for CPTs and set all counts to zero
        Overrides:
        initCPTs in class SimpleEstimator
        Parameters:
        bayesNet - the bayes net to use
        Throws:
        java.lang.Exception - if something goes wrong
      • isUseK2Prior

        public boolean isUseK2Prior()
        Returns whether K2 prior is used
        Returns:
        true if K2 prior is used
      • setUseK2Prior

        public void setUseK2Prior​(boolean bUseK2Prior)
        Sets the UseK2Prior.
        Parameters:
        bUseK2Prior - The bUseK2Prior 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 BayesNetEstimator
        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:

         -k2
          Whether to use K2 prior.
         
         -A <alpha>
          Initial count (alpha)
         
        Specified by:
        setOptions in interface OptionHandler
        Overrides:
        setOptions in class BayesNetEstimator
        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 classifier.
        Specified by:
        getOptions in interface OptionHandler
        Overrides:
        getOptions in class BayesNetEstimator
        Returns:
        an array of strings suitable for passing to setOptions