Class NaiveBayesMultinomial

java.lang.Object
weka.classifiers.AbstractClassifier
weka.classifiers.bayes.NaiveBayesMultinomial
All Implemented Interfaces:
Serializable, Cloneable, Classifier, BatchPredictor, CapabilitiesHandler, CapabilitiesIgnorer, CommandlineRunnable, OptionHandler, RevisionHandler, TechnicalInformationHandler, WeightedInstancesHandler
Direct Known Subclasses:
NaiveBayesMultinomialUpdateable

public class NaiveBayesMultinomial extends AbstractClassifier implements WeightedInstancesHandler, TechnicalInformationHandler
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.

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:

-output-debug-info
If set, classifier is run in debug mode and may output additional info to the console.

-do-not-check-capabilities
If set, classifier capabilities are not checked before classifier is built (use with caution).

-num-decimal-laces
The number of decimal places for the output of numbers in the model.

-batch-size
The desired batch size for batch prediction.

Version:
$Revision: 14250 $
Author:
Andrew Golightly (acg4@cs.waikato.ac.nz), Bernhard Pfahringer (bernhard@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • NaiveBayesMultinomial

      public NaiveBayesMultinomial()
  • Method Details

    • globalInfo

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

      public TechnicalInformation getTechnicalInformation()
      Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
      Specified by:
      getTechnicalInformation in interface TechnicalInformationHandler
      Returns:
      the technical information about this class
    • getCapabilities

      public Capabilities getCapabilities()
      Returns default capabilities of the classifier.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Specified by:
      getCapabilities in interface Classifier
      Overrides:
      getCapabilities in class AbstractClassifier
      Returns:
      the capabilities of this classifier
      See Also:
    • buildClassifier

      public void buildClassifier(Instances instances) throws Exception
      Generates the classifier.
      Specified by:
      buildClassifier in interface Classifier
      Parameters:
      instances - set of instances serving as training data
      Throws:
      Exception - if the classifier has not been generated successfully
    • distributionForInstance

      public double[] distributionForInstance(Instance instance) throws Exception
      Calculates the class membership probabilities for the given test instance.
      Specified by:
      distributionForInstance in interface Classifier
      Overrides:
      distributionForInstance in class AbstractClassifier
      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 Object
      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 AbstractClassifier
      Returns:
      the revision
    • main

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