Package weka.classifiers.bayes
Class NaiveBayesMultinomialUpdateable
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.bayes.NaiveBayesMultinomial
-
- weka.classifiers.bayes.NaiveBayesMultinomialUpdateable
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.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:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description NaiveBayesMultinomialUpdateable()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances instances)Generates the classifier.double[]distributionForInstance(Instance instance)Calculates the class membership probabilities for the given test instance.java.lang.StringgetRevision()Returns the revision string.java.lang.StringglobalInfo()Returns a string describing this classifierstatic voidmain(java.lang.String[] args)Main method for testing this class.java.lang.StringtoString()Returns a string representation of the classifier.voidupdateClassifier(Instance instance)Updates the classifier with the given instance.-
Methods inherited from class weka.classifiers.bayes.NaiveBayesMultinomial
getCapabilities, getTechnicalInformation, lnFactorial
-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, getOptions, listOptions, makeCopies, makeCopy, setDebug, setOptions
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this classifier- Overrides:
globalInfoin classNaiveBayesMultinomial- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
buildClassifier
public void buildClassifier(Instances instances) throws java.lang.Exception
Generates the classifier.- Overrides:
buildClassifierin classNaiveBayesMultinomial- Parameters:
instances- set of instances serving as training data- Throws:
java.lang.Exception- if the classifier has not been generated successfully
-
updateClassifier
public void updateClassifier(Instance instance) throws java.lang.Exception
Updates the classifier with the given instance.- Specified by:
updateClassifierin interfaceUpdateableClassifier- Parameters:
instance- the new training instance to include in the model- Throws:
java.lang.Exception- if the instance could not be incorporated in the model.
-
distributionForInstance
public double[] distributionForInstance(Instance instance) throws java.lang.Exception
Calculates the class membership probabilities for the given test instance.- Overrides:
distributionForInstancein classNaiveBayesMultinomial- Parameters:
instance- the instance to be classified- Returns:
- predicted class probability distribution
- Throws:
java.lang.Exception- if there is a problem generating the prediction
-
toString
public java.lang.String toString()
Returns a string representation of the classifier.- Overrides:
toStringin classNaiveBayesMultinomial- Returns:
- a string representation of the classifier
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classNaiveBayesMultinomial- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
Main method for testing this class.- Parameters:
args- the options
-
-