Permalink
Cannot retrieve contributors at this time
/* | |
* This program is free software: you can redistribute it and/or modify | |
* it under the terms of the GNU General Public License as published by | |
* the Free Software Foundation, either version 3 of the License, or | |
* (at your option) any later version. | |
* | |
* This program is distributed in the hope that it will be useful, | |
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
* GNU General Public License for more details. | |
* | |
* You should have received a copy of the GNU General Public License | |
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |
*/ | |
/* | |
* NaiveBayesUpdateable.java | |
* Copyright (C) 1999-2012 University of Waikato, Hamilton, New Zealand | |
* | |
*/ | |
package weka.classifiers.bayes; | |
import weka.classifiers.UpdateableClassifier; | |
import weka.core.RevisionUtils; | |
import weka.core.TechnicalInformation; | |
/** | |
<!-- globalinfo-start --> | |
* Class for a Naive Bayes classifier using estimator classes. This is the updateable version of NaiveBayes.<br/> | |
* This classifier will use a default precision of 0.1 for numeric attributes when buildClassifier is called with zero training instances.<br/> | |
* <br/> | |
* For more information on Naive Bayes classifiers, see<br/> | |
* <br/> | |
* George H. John, Pat Langley: Estimating Continuous Distributions in Bayesian Classifiers. In: Eleventh Conference on Uncertainty in Artificial Intelligence, San Mateo, 338-345, 1995. | |
* <p/> | |
<!-- globalinfo-end --> | |
* | |
<!-- technical-bibtex-start --> | |
* BibTeX: | |
* <pre> | |
* @inproceedings{John1995, | |
* address = {San Mateo}, | |
* author = {George H. John and Pat Langley}, | |
* booktitle = {Eleventh Conference on Uncertainty in Artificial Intelligence}, | |
* pages = {338-345}, | |
* publisher = {Morgan Kaufmann}, | |
* title = {Estimating Continuous Distributions in Bayesian Classifiers}, | |
* year = {1995} | |
* } | |
* </pre> | |
* <p/> | |
<!-- technical-bibtex-end --> | |
* | |
<!-- options-start --> | |
* Valid options are: <p/> | |
* | |
* <pre> -K | |
* Use kernel density estimator rather than normal | |
* distribution for numeric attributes</pre> | |
* | |
* <pre> -D | |
* Use supervised discretization to process numeric attributes | |
* </pre> | |
* | |
* <pre> -O | |
* Display model in old format (good when there are many classes) | |
* </pre> | |
* | |
<!-- options-end --> | |
* | |
* @author Len Trigg (trigg@cs.waikato.ac.nz) | |
* @author Eibe Frank (eibe@cs.waikato.ac.nz) | |
* @version $Revision: 8034 $ | |
*/ | |
public class NaiveBayesUpdateable extends NaiveBayes | |
implements UpdateableClassifier { | |
/** for serialization */ | |
static final long serialVersionUID = -5354015843807192221L; | |
/** | |
* Returns a string describing this classifier | |
* @return a description of the classifier suitable for | |
* displaying in the explorer/experimenter gui | |
*/ | |
public String globalInfo() { | |
return "Class for a Naive Bayes classifier using estimator classes. This is the " | |
+"updateable version of NaiveBayes.\n" | |
+"This classifier will use a default precision of 0.1 for numeric attributes " | |
+"when buildClassifier is called with zero training instances.\n\n" | |
+"For more information on Naive Bayes classifiers, see\n\n" | |
+ getTechnicalInformation().toString(); | |
} | |
/** | |
* 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. | |
* | |
* @return the technical information about this class | |
*/ | |
public TechnicalInformation getTechnicalInformation() { | |
return super.getTechnicalInformation(); | |
} | |
/** | |
* Set whether supervised discretization is to be used. | |
* | |
* @param newblah true if supervised discretization is to be used. | |
*/ | |
public void setUseSupervisedDiscretization(boolean newblah) { | |
if (newblah) { | |
throw new IllegalArgumentException("Can't use discretization " + | |
"in NaiveBayesUpdateable!"); | |
} | |
m_UseDiscretization = false; | |
} | |
/** | |
* Returns the revision string. | |
* | |
* @return the revision | |
*/ | |
public String getRevision() { | |
return RevisionUtils.extract("$Revision: 8034 $"); | |
} | |
/** | |
* Main method for testing this class. | |
* | |
* @param argv the options | |
*/ | |
public static void main(String [] argv) { | |
runClassifier(new NaiveBayesUpdateable(), argv); | |
} | |
} | |