Class NaiveBayesMultinomialUpdateable

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.bayes.NaiveBayesMultinomial
weka.classifiers.bayes.NaiveBayesMultinomialUpdateable
All Implemented Interfaces:
Serializable, Cloneable, UpdateableClassifier, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler, WeightedInstancesHandler

public class NaiveBayesMultinomialUpdateable extends NaiveBayesMultinomial implements UpdateableClassifier
Class for building and using a multinomial Naive Bayes classifier. For more information see,

Andrew Mccallum, Kamal Nigam: A Comparison of Event Models for Naive Bayes Text Classification. In: AAAI-98 Workshop on 'Learning for Text Categorization', 1998.

The core equation for this classifier:

P[Ci|D] = (P[D|Ci] x P[Ci]) / P[D] (Bayes rule)

where Ci is class i and D is a document.

Incremental version of the algorithm.

BibTeX:

 @inproceedings{Mccallum1998,
    author = {Andrew Mccallum and Kamal Nigam},
    booktitle = {AAAI-98 Workshop on 'Learning for Text Categorization'},
    title = {A Comparison of Event Models for Naive Bayes Text Classification},
    year = {1998}
 }
 

Valid options are:

 -D
  If set, classifier is run in debug mode and
  may output additional info to the console
Version:
$Revision: 1.3 $
Author:
Andrew Golightly (acg4@cs.waikato.ac.nz), Bernhard Pfahringer (bernhard@cs.waikato.ac.nz), Jiang Su
See Also:
  • Constructor Details

    • NaiveBayesMultinomialUpdateable

      public NaiveBayesMultinomialUpdateable()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this classifier
      Overrides:
      globalInfo in class NaiveBayesMultinomial
      Returns:
      a description of the classifier suitable for displaying in the explorer/experimenter gui
    • buildClassifier

      public void buildClassifier(Instances instances) throws Exception
      Generates the classifier.
      Overrides:
      buildClassifier in class NaiveBayesMultinomial
      Parameters:
      instances - set of instances serving as training data
      Throws:
      Exception - if the classifier has not been generated successfully
    • updateClassifier

      public void updateClassifier(Instance instance) throws Exception
      Updates the classifier with the given instance.
      Specified by:
      updateClassifier in interface UpdateableClassifier
      Parameters:
      instance - the new training instance to include in the model
      Throws:
      Exception - if the instance could not be incorporated in the model.
    • distributionForInstance

      public double[] distributionForInstance(Instance instance) throws Exception
      Calculates the class membership probabilities for the given test instance.
      Overrides:
      distributionForInstance in class NaiveBayesMultinomial
      Parameters:
      instance - the instance to be classified
      Returns:
      predicted class probability distribution
      Throws:
      Exception - if there is a problem generating the prediction
    • toString

      public String toString()
      Returns a string representation of the classifier.
      Overrides:
      toString in class NaiveBayesMultinomial
      Returns:
      a string representation of the classifier
    • getRevision

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

      public static void main(String[] args)
      Main method for testing this class.
      Parameters:
      args - the options