Class MultiNomialBMAEstimator

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

    public class MultiNomialBMAEstimator
    extends BayesNetEstimator
    Multinomial BMA Estimator.

    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

      • MultiNomialBMAEstimator

        public MultiNomialBMAEstimator()
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing this object
        Overrides:
        globalInfo in class BayesNetEstimator
        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 BayesNetEstimator
        Parameters:
        bayesNet - the bayes net to use
        Throws:
        java.lang.Exception - if number of parents doesn't fit (more than 1)
      • updateClassifier

        public void updateClassifier​(BayesNet bayesNet,
                                     Instance instance)
                              throws java.lang.Exception
        Updates the classifier with the given instance.
        Overrides:
        updateClassifier in class BayesNetEstimator
        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 BayesNetEstimator
        Parameters:
        bayesNet - the bayes net to use
        Throws:
        java.lang.Exception - doesn't apply
      • isUseK2Prior

        public boolean isUseK2Prior()
        Returns:
        boolean
      • setUseK2Prior

        public void setUseK2Prior​(boolean bUseK2Prior)
        Sets the UseK2Prior.
        Parameters:
        bUseK2Prior - The bUseK2Prior to set
      • distributionForInstance

        public double[] distributionForInstance​(BayesNet bayesNet,
                                                Instance instance)
                                         throws java.lang.Exception
        Calculates the class membership probabilities for the given test instance.
        Overrides:
        distributionForInstance in class BayesNetEstimator
        Parameters:
        bayesNet - the bayes net to use
        instance - the instance to be classified
        Returns:
        predicted class probability distribution
        Throws:
        java.lang.Exception - if there is a problem generating the prediction
      • 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