Package weka.classifiers.meta
Class ThreadSafeClassifierWrapper
- java.lang.Object
-
- weka.classifiers.AbstractClassifier
-
- weka.classifiers.SingleClassifierEnhancer
-
- weka.classifiers.meta.ThreadSafeClassifierWrapper
-
- All Implemented Interfaces:
FlowContextHandler,Serializable,Cloneable,AbstainingClassifier,weka.classifiers.Classifier,ThreadSafeClassifier,weka.core.BatchPredictor,weka.core.CapabilitiesHandler,weka.core.CapabilitiesIgnorer,weka.core.CommandlineRunnable,weka.core.OptionHandler,weka.core.RevisionHandler
public class ThreadSafeClassifierWrapper extends weka.classifiers.SingleClassifierEnhancer implements AbstainingClassifier, ThreadSafeClassifier, FlowContextHandler
Wraps an abstaining classifier and allows turning on/of abstaining. Valid options are:-W Full name of base classifier. (default: weka.classifiers.rules.ZeroR)
-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).
Options specific to classifier weka.classifiers.rules.ZeroR:
-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).
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanm_CanAbstainwhether the base classifier can abstain.protected Actorm_FlowContextthe flow context.protected booleanm_FlowContextUpdatedwhether the flow context has been updated.
-
Constructor Summary
Constructors Constructor Description ThreadSafeClassifierWrapper()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(weka.core.Instances data)Generates a classifier.booleancanAbstain()Whether abstaining is possible, e.g., used in meta-classifiers.doubleclassifyInstance(weka.core.Instance instance)Synchronized method for classifying data.double[]distributionForInstance(weka.core.Instance instance)Returns the class distribution for an instance.doublegetAbstentionClassification(weka.core.Instance inst)The prediction that made the classifier abstain.double[]getAbstentionDistribution(weka.core.Instance inst)The class distribution that made the classifier abstain.ActorgetFlowContext()Returns the flow context.StringglobalInfo()Returns a string describing classifier.static voidmain(String[] args)Main method for running this class.voidsetFlowContext(Actor value)Sets the flow context.StringtoString()Returns the model.-
Methods inherited from class weka.classifiers.SingleClassifierEnhancer
classifierTipText, defaultClassifierOptions, defaultClassifierString, getCapabilities, getClassifier, getClassifierSpec, getOptions, listOptions, postExecution, preExecution, setClassifier, setOptions
-
Methods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, getRevision, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
-
-
-
Field Detail
-
m_CanAbstain
protected boolean m_CanAbstain
whether the base classifier can abstain.
-
m_FlowContext
protected transient Actor m_FlowContext
the flow context.
-
m_FlowContextUpdated
protected boolean m_FlowContextUpdated
whether the flow context has been updated.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing classifier.- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
setFlowContext
public void setFlowContext(Actor value)
Sets the flow context.- Specified by:
setFlowContextin interfaceFlowContextHandler- Parameters:
value- the context
-
getFlowContext
public Actor getFlowContext()
Returns the flow context.- Specified by:
getFlowContextin interfaceFlowContextHandler- Returns:
- the context, null if not available
-
buildClassifier
public void buildClassifier(weka.core.Instances data) throws ExceptionGenerates 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.- Specified by:
buildClassifierin interfaceweka.classifiers.Classifier- Parameters:
data- set of instances serving as training data- Throws:
Exception- if the classifier has not been generated successfully
-
classifyInstance
public double classifyInstance(weka.core.Instance instance) throws ExceptionSynchronized method for classifying data.- Specified by:
classifyInstancein interfaceweka.classifiers.Classifier- Overrides:
classifyInstancein classweka.classifiers.AbstractClassifier- Parameters:
instance- the instance to classify- Returns:
- the classification
- Throws:
Exception- if classification fails
-
distributionForInstance
public double[] distributionForInstance(weka.core.Instance instance) throws ExceptionReturns the class distribution for an instance.- Specified by:
distributionForInstancein interfaceweka.classifiers.Classifier- Overrides:
distributionForInstancein classweka.classifiers.AbstractClassifier- Parameters:
instance- the instance to get the distribution for- Returns:
- the distribution
- Throws:
Exception- if classification fails
-
canAbstain
public boolean canAbstain()
Whether abstaining is possible, e.g., used in meta-classifiers.- Specified by:
canAbstainin interfaceAbstainingClassifier- Returns:
- true if abstaining is possible
-
getAbstentionClassification
public double getAbstentionClassification(weka.core.Instance inst) throws ExceptionThe prediction that made the classifier abstain.- Specified by:
getAbstentionClassificationin interfaceAbstainingClassifier- Parameters:
inst- the instance to get the prediction for- Returns:
- the prediction
- Throws:
Exception- if fails to make prediction
-
getAbstentionDistribution
public double[] getAbstentionDistribution(weka.core.Instance inst) throws ExceptionThe class distribution that made the classifier abstain.- Specified by:
getAbstentionDistributionin interfaceAbstainingClassifier- Parameters:
inst- the instance to get the prediction for- Returns:
- the class distribution
- Throws:
Exception- if fails to make prediction
-
toString
public String toString()
Returns the model.
-
main
public static void main(String[] args)
Main method for running this class.- Parameters:
args- the options
-
-