Class BayesNetEstimator

  • All Implemented Interfaces:
    java.io.Serializable, OptionHandler, RevisionHandler
    Direct Known Subclasses:
    MultiNomialBMAEstimator, SimpleEstimator

    public class BayesNetEstimator
    extends java.lang.Object
    implements OptionHandler, java.io.Serializable, RevisionHandler
    BayesNetEstimator is the base class for estimating the conditional probability tables of a Bayes network once the structure has been learned.

    Valid options are:

     -A <alpha>
      Initial count (alpha)
     
    Version:
    $Revision: 1.4 $
    Author:
    Remco Bouckaert (rrb@xm.co.nz)
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String alphaTipText()  
      double[] distributionForInstance​(BayesNet bayesNet, Instance instance)
      Calculates the class membership probabilities for the given test instance.
      void estimateCPTs​(BayesNet bayesNet)
      estimateCPTs estimates the conditional probability tables for the Bayes Net using the network structure.
      double getAlpha()
      Get prior used in probability table estimation
      java.lang.String[] getOptions()
      Gets the current settings of the classifier.
      java.lang.String getRevision()
      Returns the revision string.
      java.lang.String globalInfo()
      This will return a string describing the class.
      void initCPTs​(BayesNet bayesNet)
      initCPTs reserves space for CPTs and set all counts to zero
      java.util.Enumeration listOptions()
      Returns an enumeration describing the available options
      void setAlpha​(double fAlpha)
      Set prior used in probability table estimation
      void setOptions​(java.lang.String[] options)
      Parses a given list of options.
      void updateClassifier​(BayesNet bayesNet, Instance instance)
      Updates the classifier with the given instance.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BayesNetEstimator

        public BayesNetEstimator()
    • Method Detail

      • estimateCPTs

        public void estimateCPTs​(BayesNet bayesNet)
                          throws java.lang.Exception
        estimateCPTs estimates the conditional probability tables for the Bayes Net using the network structure.
        Parameters:
        bayesNet - the bayes net to use
        Throws:
        java.lang.Exception - always throws an exception, since subclass needs to be used
      • updateClassifier

        public void updateClassifier​(BayesNet bayesNet,
                                     Instance instance)
                              throws java.lang.Exception
        Updates the classifier with the given instance.
        Parameters:
        bayesNet - the bayes net to use
        instance - the new training instance to include in the model
        Throws:
        java.lang.Exception - always throws an exception, since subclass needs to be used
      • distributionForInstance

        public double[] distributionForInstance​(BayesNet bayesNet,
                                                Instance instance)
                                         throws java.lang.Exception
        Calculates the class membership probabilities for the given test instance.
        Parameters:
        bayesNet - the bayes net to use
        instance - the instance to be classified
        Returns:
        predicted class probability distribution
        Throws:
        java.lang.Exception - always throws an exception, since subclass needs to be used
      • initCPTs

        public void initCPTs​(BayesNet bayesNet)
                      throws java.lang.Exception
        initCPTs reserves space for CPTs and set all counts to zero
        Parameters:
        bayesNet - the bayes net to use
        Throws:
        java.lang.Exception - always throws an exception, since subclass needs to be used
      • listOptions

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

         -A <alpha>
          Initial count (alpha)
         
        Specified by:
        setOptions in interface OptionHandler
        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
        Returns:
        an array of strings suitable for passing to setOptions
      • setAlpha

        public void setAlpha​(double fAlpha)
        Set prior used in probability table estimation
        Parameters:
        fAlpha - representing prior
      • getAlpha

        public double getAlpha()
        Get prior used in probability table estimation
        Returns:
        prior
      • alphaTipText

        public java.lang.String alphaTipText()
        Returns:
        a string to describe the Alpha option.
      • globalInfo

        public java.lang.String globalInfo()
        This will return a string describing the class.
        Returns:
        The string.
      • getRevision

        public java.lang.String getRevision()
        Returns the revision string.
        Specified by:
        getRevision in interface RevisionHandler
        Returns:
        the revision