Package weka.classifiers.meta
Class AbstainAverage
- java.lang.Object
-
- weka.classifiers.AbstractClassifier
-
- weka.classifiers.MultipleClassifiersCombiner
-
- weka.classifiers.meta.AbstainAverage
-
- All Implemented Interfaces:
Serializable,Cloneable,AbstainingClassifier,weka.classifiers.Classifier,weka.core.BatchPredictor,weka.core.CapabilitiesHandler,weka.core.CapabilitiesIgnorer,weka.core.CommandlineRunnable,weka.core.OptionHandler,weka.core.RevisionHandler,weka.core.WeightedInstancesHandler
public class AbstainAverage extends weka.classifiers.MultipleClassifiersCombiner implements weka.core.WeightedInstancesHandler, AbstainingClassifier
Average base classifiers, abstain if difference outside thresholds
Valid options are:
- Version:
- $Revision: 12763 $
- Author:
- Dale
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean[]m_IsPercentprotected doublem_MaxDifferenceprotected double[]m_MaxDifferencesprotected Stringm_MaxDifferences_stringprotected double[]m_Maxesprotected double[]m_Mins
-
Constructor Summary
Constructors Constructor Description AbstainAverage()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(weka.core.Instances data)Buildclassifier builds all sub-classifiersbooleancanAbstain()Whether abstaining is possible, e.g., used in meta-classifiers.protected booleancheckOK(double avgPrediction, double difference)Check prediction difference against thresholdsprotected doubleclassificationNumericAverage(weka.core.Instance instance, boolean abstain)Do the classification.doubleclassifyInstance(weka.core.Instance instance)Classifies the given test instance.protected StringdiffToString()Convert thresholds from array to stringdoublegetAbstentionClassification(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.weka.core.CapabilitiesgetCapabilities()Returns default capabilities of the classifier.StringgetMaxDifference()gets number of samplesString[]getOptions()Gets the current settings of Vote.StringgetRevision()Returns the revision string.StringglobalInfo()Returns a string describing classifierEnumerationlistOptions()Returns an enumeration describing the available options.static voidmain(String[] argv)Main method for testing this class.StringmaxDifferenceTipText()Returns the tip text for this propertyprotected voidparseString(String input)Expect ; separated entries with min,max,difference e.g. 0-50,6;50-100,10%;100-200,20voidsetMaxDifference(String s)voidsetOptions(String[] options)Parses a given list of options.StringtoString()Output a representation of this classifier-
Methods inherited from class weka.classifiers.MultipleClassifiersCombiner
classifiersTipText, getClassifier, getClassifiers, getClassifierSpec, postExecution, preExecution, setClassifiers
-
Methods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
-
-
-
Field Detail
-
m_MaxDifference
protected double m_MaxDifference
-
m_MaxDifferences
protected double[] m_MaxDifferences
-
m_Mins
protected double[] m_Mins
-
m_Maxes
protected double[] m_Maxes
-
m_IsPercent
protected boolean[] m_IsPercent
-
m_MaxDifferences_string
protected String m_MaxDifferences_string
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
listOptions
public Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceweka.core.OptionHandler- Overrides:
listOptionsin classweka.classifiers.MultipleClassifiersCombiner- Returns:
- an enumeration of all the available options.
-
getOptions
public String[] getOptions()
Gets the current settings of Vote.- Specified by:
getOptionsin interfaceweka.core.OptionHandler- Overrides:
getOptionsin classweka.classifiers.MultipleClassifiersCombiner- Returns:
- an array of strings suitable for passing to setOptions()
-
setOptions
public void setOptions(String[] options) throws Exception
Parses a given list of options. Valid options are:-S <num> Random number seed. (default 1)
-B <classifier specification> Full class name of classifier to include, followed by scheme options. May be specified multiple times. (default: "weka.classifiers.rules.ZeroR")
-D If set, classifier is run in debug mode and may output additional info to the console
- Specified by:
setOptionsin interfaceweka.core.OptionHandler- Overrides:
setOptionsin classweka.classifiers.MultipleClassifiersCombiner- Parameters:
options- the list of options as an array of strings- Throws:
Exception- if an option is not supported
-
getCapabilities
public weka.core.Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceweka.core.CapabilitiesHandler- Specified by:
getCapabilitiesin interfaceweka.classifiers.Classifier- Overrides:
getCapabilitiesin classweka.classifiers.MultipleClassifiersCombiner- Returns:
- the capabilities of this classifier
-
buildClassifier
public void buildClassifier(weka.core.Instances data) throws ExceptionBuildclassifier builds all sub-classifiers- Specified by:
buildClassifierin interfaceweka.classifiers.Classifier- Parameters:
data- the training data to be used for generating the boosted classifier.- Throws:
Exception- if the classifier could not be built successfully
-
classifyInstance
public double classifyInstance(weka.core.Instance instance) throws ExceptionClassifies the given test instance.- Specified by:
classifyInstancein interfaceweka.classifiers.Classifier- Overrides:
classifyInstancein classweka.classifiers.AbstractClassifier- 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
-
checkOK
protected boolean checkOK(double avgPrediction, double difference)Check prediction difference against thresholds- Parameters:
avgPrediction-difference-- Returns:
-
parseString
protected void parseString(String input)
Expect ; separated entries with min,max,difference e.g. 0-50,6;50-100,10%;100-200,20- Parameters:
input-
-
diffToString
protected String diffToString()
Convert thresholds from array to string- Returns:
-
classificationNumericAverage
protected double classificationNumericAverage(weka.core.Instance instance, boolean abstain) throws ExceptionDo the classification. Abstain (or not) depending on flag- Parameters:
instance-abstain-- Returns:
- Throws:
Exception
-
toString
public String toString()
Output a representation of this classifier
-
getRevision
public String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceweka.core.RevisionHandler- Overrides:
getRevisionin classweka.classifiers.AbstractClassifier- Returns:
- the revision
-
main
public static void main(String[] argv)
Main method for testing this class.- Parameters:
argv- should contain the following arguments: -t training file [-T test file] [-c class index]
-
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 ExceptionDescription copied from interface:AbstainingClassifierThe 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
-
maxDifferenceTipText
public String maxDifferenceTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getMaxDifference
public String getMaxDifference()
gets number of samples- Returns:
- value
-
setMaxDifference
public void setMaxDifference(String s)
-
-