Package weka.classifiers.meta
Class AbstainAverageWithClassifierWeights
- java.lang.Object
-
- weka.classifiers.AbstractClassifier
-
- weka.classifiers.MultipleClassifiersCombiner
-
- weka.classifiers.meta.AbstainAverageWithClassifierWeights
-
- 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 AbstainAverageWithClassifierWeights 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 double[]
m_ClassifierWeights
protected String
m_ClassifierWeights_string
protected boolean[]
m_IsPercent
protected double
m_MaxDifference
protected double[]
m_MaxDifferences
protected String
m_MaxDifferences_string
protected double[]
m_Maxes
protected double[]
m_Mins
-
Constructor Summary
Constructors Constructor Description AbstainAverageWithClassifierWeights()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildClassifier(weka.core.Instances data)
Buildclassifier builds all sub-classifiersboolean
canAbstain()
Whether abstaining is possible, e.g., used in meta-classifiers.protected boolean
checkOK(double avgPrediction, double difference)
Check prediction difference against thresholdsprotected double
classificationNumericAverage(weka.core.Instance instance, boolean abstain)
Do the classification.String
classifierWeightsTipText()
Returns the tip text for this propertydouble
classifyInstance(weka.core.Instance instance)
Classifies the given test instance.protected String
diffToString()
Convert thresholds from array to stringdouble
getAbstentionClassification(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.Capabilities
getCapabilities()
Returns default capabilities of the classifier.String
getClassifierWeights()
String
getMaxDifference()
gets number of samplesString[]
getOptions()
Gets the current settings of Vote.String
getRevision()
Returns the revision string.String
globalInfo()
Returns a string describing classifierEnumeration
listOptions()
Returns an enumeration describing the available options.static void
main(String[] argv)
Main method for testing this class.String
maxDifferenceTipText()
Returns the tip text for this propertyprotected void
parseString(String input)
Expect ; separated entries with min,max,difference e.g.protected void
parseWeights(String input)
Expect "1,1,1,1"void
setClassifierWeights(String s)
void
setMaxDifference(String s)
void
setOptions(String[] options)
Parses a given list of options.String
toString()
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
-
m_ClassifierWeights
protected double[] m_ClassifierWeights
-
m_ClassifierWeights_string
protected String m_ClassifierWeights_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:
listOptions
in interfaceweka.core.OptionHandler
- Overrides:
listOptions
in classweka.classifiers.MultipleClassifiersCombiner
- Returns:
- an enumeration of all the available options.
-
getOptions
public String[] getOptions()
Gets the current settings of Vote.- Specified by:
getOptions
in interfaceweka.core.OptionHandler
- Overrides:
getOptions
in 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:
setOptions
in interfaceweka.core.OptionHandler
- Overrides:
setOptions
in 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:
getCapabilities
in interfaceweka.core.CapabilitiesHandler
- Specified by:
getCapabilities
in interfaceweka.classifiers.Classifier
- Overrides:
getCapabilities
in classweka.classifiers.MultipleClassifiersCombiner
- Returns:
- the capabilities of this classifier
-
buildClassifier
public void buildClassifier(weka.core.Instances data) throws Exception
Buildclassifier builds all sub-classifiers- Specified by:
buildClassifier
in 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 Exception
Classifies the given test instance.- Specified by:
classifyInstance
in interfaceweka.classifiers.Classifier
- Overrides:
classifyInstance
in 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:
-
parseWeights
protected void parseWeights(String input)
Expect "1,1,1,1"- Parameters:
input
-
-
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 Exception
Do 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:
getRevision
in interfaceweka.core.RevisionHandler
- Overrides:
getRevision
in 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:
canAbstain
in interfaceAbstainingClassifier
- Returns:
- true if abstaining is possible
-
getAbstentionClassification
public double getAbstentionClassification(weka.core.Instance inst) throws Exception
The prediction that made the classifier abstain.- Specified by:
getAbstentionClassification
in 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 Exception
Description copied from interface:AbstainingClassifier
The class distribution that made the classifier abstain.- Specified by:
getAbstentionDistribution
in interfaceAbstainingClassifier
- Parameters:
inst
- the instance to get the prediction for- Returns:
- the class distribution
- Throws:
Exception
- if fails to make prediction
-
classifierWeightsTipText
public String classifierWeightsTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getClassifierWeights
public String getClassifierWeights()
-
setClassifierWeights
public void setClassifierWeights(String s)
-
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)
-
-