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 void
buildClassifier(Instances instances)
Generates the classifier.double[]
distributionForInstance(Instance instance)
Calculates the class membership probabilities for the given test instance.java.lang.String
getRevision()
Returns the revision string.java.lang.String
globalInfo()
Returns a string describing this classifierstatic void
main(java.lang.String[] args)
Main method for testing this class.java.lang.String
toString()
Returns a string representation of the classifier.void
updateClassifier(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:
globalInfo
in 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:
buildClassifier
in 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:
updateClassifier
in 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:
distributionForInstance
in 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:
toString
in classNaiveBayesMultinomial
- Returns:
- a string representation of the classifier
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classNaiveBayesMultinomial
- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
Main method for testing this class.- Parameters:
args
- the options
-
-