Package weka.classifiers
Class Classifier
java.lang.Object
weka.classifiers.Classifier
- All Implemented Interfaces:
Serializable
,Cloneable
,CapabilitiesHandler
,OptionHandler
,RevisionHandler
- Direct Known Subclasses:
ADTree
,AODE
,AODEsr
,BayesianLogisticRegression
,BayesNet
,CitationKNN
,ClassificationViaClustering
,ComplementNaiveBayes
,ConjunctiveRule
,DecisionStump
,DecisionTable
,DMNBtext
,FT
,GaussianProcesses
,HNB
,HyperPipes
,IB1
,IBk
,Id3
,IsotonicRegression
,J48
,J48graft
,JRip
,KStar
,LADTree
,LBR
,LeastMedSq
,LibLINEAR
,LinearRegression
,LMT
,Logistic
,LogisticBase
,M5Base
,MDD
,MIDD
,MILR
,MINND
,MIOptimalBall
,MISMO
,MISVM
,MultilayerPerceptron
,MultipleClassifiersCombiner
,NaiveBayes
,NaiveBayesMultinomial
,NaiveBayesSimple
,NBTree
,NNge
,OneR
,PaceRegression
,PART
,PLSClassifier
,PMMLClassifier
,PreConstructedLinearModel
,Prism
,RandomForest
,RandomizableClassifier
,RandomTree
,RBFNetwork
,REPTree
,Ridor
,RuleNode
,SerializedClassifier
,SimpleLinearRegression
,SimpleLogistic
,SingleClassifierEnhancer
,SMO
,SMOreg
,SPegasos
,UserClassifier
,VFI
,VotedPerceptron
,WAODE
,Winnow
,ZeroR
public abstract class Classifier
extends Object
implements Cloneable, Serializable, OptionHandler, CapabilitiesHandler, RevisionHandler
Abstract classifier. All schemes for numeric or nominal prediction in Weka
extend this class. Note that a classifier MUST either implement
distributionForInstance() or classifyInstance().
- Version:
- $Revision: 10485 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract void
buildClassifier
(Instances data) Generates a classifier.double
classifyInstance
(Instance instance) Classifies the given test instance.Returns the tip text for this propertydouble[]
distributionForInstance
(Instance instance) Predicts the class memberships for a given instance.static Classifier
Creates a new instance of a classifier given it's class name and (optional) arguments to pass to it's setOptions method.Returns the Capabilities of this classifier.boolean
getDebug()
Get whether debugging is turned on.String[]
Gets the current settings of the Classifier.Returns the revision string.Returns an enumeration describing the available options.static Classifier[]
makeCopies
(Classifier model, int num) Creates a given number of deep copies of the given classifier using serialization.static Classifier
makeCopy
(Classifier model) Creates a deep copy of the given classifier using serialization.void
setDebug
(boolean debug) Set debugging mode.void
setOptions
(String[] options) Parses a given list of options.
-
Constructor Details
-
Classifier
public Classifier()
-
-
Method Details
-
buildClassifier
Generates a classifier. Must initialize all fields of the classifier that are not being set via options (ie. multiple calls of buildClassifier must always lead to the same result). Must not change the dataset in any way.- Parameters:
data
- set of instances serving as training data- Throws:
Exception
- if the classifier has not been generated successfully
-
classifyInstance
Classifies the given test instance. The instance has to belong to a dataset when it's being classified. Note that a classifier MUST implement either this or distributionForInstance().- Parameters:
instance
- the instance to be classified- Returns:
- the predicted most likely class for the instance or Instance.missingValue() if no prediction is made
- Throws:
Exception
- if an error occurred during the prediction
-
distributionForInstance
Predicts the class memberships for a given instance. If an instance is unclassified, the returned array elements must be all zero. If the class is numeric, the array must consist of only one element, which contains the predicted value. Note that a classifier MUST implement either this or classifyInstance().- Parameters:
instance
- the instance to be classified- Returns:
- an array containing the estimated membership probabilities of the test instance in each class or the numeric prediction
- Throws:
Exception
- if distribution could not be computed successfully
-
forName
Creates a new instance of a classifier given it's class name and (optional) arguments to pass to it's setOptions method. If the classifier implements OptionHandler and the options parameter is non-null, the classifier will have it's options set.- Parameters:
classifierName
- the fully qualified class name of the classifieroptions
- an array of options suitable for passing to setOptions. May be null.- Returns:
- the newly created classifier, ready for use.
- Throws:
Exception
- if the classifier name is invalid, or the options supplied are not acceptable to the classifier
-
makeCopy
Creates a deep copy of the given classifier using serialization.- Parameters:
model
- the classifier to copy- Returns:
- a deep copy of the classifier
- Throws:
Exception
- if an error occurs
-
makeCopies
Creates a given number of deep copies of the given classifier using serialization.- Parameters:
model
- the classifier to copynum
- the number of classifier copies to create.- Returns:
- an array of classifiers.
- Throws:
Exception
- if an error occurs
-
listOptions
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Returns:
- an enumeration of all the available options.
-
setOptions
Parses a given list of options. Valid options are:-D
If set, classifier is run in debug mode and may output additional info to the console.- Specified by:
setOptions
in interfaceOptionHandler
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of the Classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Returns:
- an array of strings suitable for passing to setOptions
-
setDebug
public void setDebug(boolean debug) Set debugging mode.- Parameters:
debug
- true if debug output should be printed
-
getDebug
public boolean getDebug()Get whether debugging is turned on.- Returns:
- true if debugging output is on
-
debugTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getCapabilities
Returns the Capabilities of this classifier. Maximally permissive capabilities are allowed by default. Derived classifiers should override this method and first disable all capabilities and then enable just those capabilities that make sense for the scheme.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Returns:
- the capabilities of this object
- See Also:
-
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-