Package weka.classifiers
Class BVDecompose
- java.lang.Object
-
- weka.classifiers.BVDecompose
-
- All Implemented Interfaces:
OptionHandler
,RevisionHandler
,TechnicalInformationHandler
public class BVDecompose extends java.lang.Object implements OptionHandler, TechnicalInformationHandler, RevisionHandler
Class for performing a Bias-Variance decomposition on any classifier using the method specified in:
Ron Kohavi, David H. Wolpert: Bias Plus Variance Decomposition for Zero-One Loss Functions. In: Machine Learning: Proceedings of the Thirteenth International Conference, 275-283, 1996. BibTeX:@inproceedings{Kohavi1996, author = {Ron Kohavi and David H. Wolpert}, booktitle = {Machine Learning: Proceedings of the Thirteenth International Conference}, editor = {Lorenza Saitta}, pages = {275-283}, publisher = {Morgan Kaufmann}, title = {Bias Plus Variance Decomposition for Zero-One Loss Functions}, year = {1996}, PS = {http://robotics.stanford.edu/\~ronnyk/biasVar.ps} }
Valid options are:-c <class index> The index of the class attribute. (default last)
-t <name of arff file> The name of the arff file used for the decomposition.
-T <training pool size> The number of instances placed in the training pool. The remainder will be used for testing. (default 100)
-s <seed> The random number seed used.
-x <num> The number of training repetitions used. (default 50)
-D Turn on debugging output.
-W <classifier class name> Full class name of the learner used in the decomposition. eg: weka.classifiers.bayes.NaiveBayes
Options specific to learner weka.classifiers.rules.ZeroR:
-D If set, classifier is run in debug mode and may output additional info to the console
Options after -- are passed to the designated sub-learner.- Version:
- $Revision: 1.15 $
- Author:
- Len Trigg (trigg@cs.waikato.ac.nz)
-
-
Constructor Summary
Constructors Constructor Description BVDecompose()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
decompose()
Carry out the bias-variance decompositiondouble
getBias()
Get the calculated bias squaredClassifier
getClassifier()
Gets the name of the classifier being analysedint
getClassIndex()
Get the index (starting from 1) of the attribute used as the class.java.lang.String
getDataFileName()
Get the name of the data file used for the decompositionboolean
getDebug()
Gets whether debugging is turned ondouble
getError()
Get the calculated error ratejava.lang.String[]
getOptions()
Gets the current settings of the CheckClassifier.java.lang.String
getRevision()
Returns the revision string.int
getSeed()
Gets the random number seeddouble
getSigma()
Get the calculated sigma squaredTechnicalInformation
getTechnicalInformation()
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.int
getTrainIterations()
Gets the maximum number of boost iterationsint
getTrainPoolSize()
Get the number of instances in the training pool.double
getVariance()
Get the calculated variancejava.lang.String
globalInfo()
Returns a string describing this objectjava.util.Enumeration
listOptions()
Returns an enumeration describing the available options.static void
main(java.lang.String[] args)
Test method for this classvoid
setClassifier(Classifier newClassifier)
Set the classifiers being analysedvoid
setClassIndex(int classIndex)
Sets index of attribute to discretize onvoid
setDataFileName(java.lang.String dataFileName)
Sets the name of the data file used for the decompositionvoid
setDebug(boolean debug)
Sets debugging modevoid
setOptions(java.lang.String[] options)
Parses a given list of options.void
setSeed(int seed)
Sets the random number seedvoid
setTrainIterations(int trainIterations)
Sets the maximum number of boost iterationsvoid
setTrainPoolSize(int numTrain)
Set the number of instances in the training pool.java.lang.String
toString()
Returns description of the bias-variance decomposition results.
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this object- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
getTechnicalInformation
public TechnicalInformation getTechnicalInformation()
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.- Specified by:
getTechnicalInformation
in interfaceTechnicalInformationHandler
- Returns:
- the technical information about this class
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceOptionHandler
- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.Exception
Parses a given list of options. Valid options are:-c <class index> The index of the class attribute. (default last)
-t <name of arff file> The name of the arff file used for the decomposition.
-T <training pool size> The number of instances placed in the training pool. The remainder will be used for testing. (default 100)
-s <seed> The random number seed used.
-x <num> The number of training repetitions used. (default 50)
-D Turn on debugging output.
-W <classifier class name> Full class name of the learner used in the decomposition. eg: weka.classifiers.bayes.NaiveBayes
Options specific to learner weka.classifiers.rules.ZeroR:
-D If set, classifier is run in debug mode and may output additional info to the console
Options after -- are passed to the designated sub-learner.- Specified by:
setOptions
in interfaceOptionHandler
- Parameters:
options
- the list of options as an array of strings- Throws:
java.lang.Exception
- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the CheckClassifier.- Specified by:
getOptions
in interfaceOptionHandler
- Returns:
- an array of strings suitable for passing to setOptions
-
getTrainPoolSize
public int getTrainPoolSize()
Get the number of instances in the training pool.- Returns:
- number of instances in the training pool.
-
setTrainPoolSize
public void setTrainPoolSize(int numTrain)
Set the number of instances in the training pool.- Parameters:
numTrain
- number of instances in the training pool.
-
setClassifier
public void setClassifier(Classifier newClassifier)
Set the classifiers being analysed- Parameters:
newClassifier
- the Classifier to use.
-
getClassifier
public Classifier getClassifier()
Gets the name of the classifier being analysed- Returns:
- the classifier being analysed.
-
setDebug
public void setDebug(boolean debug)
Sets debugging mode- Parameters:
debug
- true if debug output should be printed
-
getDebug
public boolean getDebug()
Gets whether debugging is turned on- Returns:
- true if debugging output is on
-
setSeed
public void setSeed(int seed)
Sets the random number seed- Parameters:
seed
- the random number seed
-
getSeed
public int getSeed()
Gets the random number seed- Returns:
- the random number seed
-
setTrainIterations
public void setTrainIterations(int trainIterations)
Sets the maximum number of boost iterations- Parameters:
trainIterations
- the number of boost iterations
-
getTrainIterations
public int getTrainIterations()
Gets the maximum number of boost iterations- Returns:
- the maximum number of boost iterations
-
setDataFileName
public void setDataFileName(java.lang.String dataFileName)
Sets the name of the data file used for the decomposition- Parameters:
dataFileName
- the data file to use
-
getDataFileName
public java.lang.String getDataFileName()
Get the name of the data file used for the decomposition- Returns:
- the name of the data file
-
getClassIndex
public int getClassIndex()
Get the index (starting from 1) of the attribute used as the class.- Returns:
- the index of the class attribute
-
setClassIndex
public void setClassIndex(int classIndex)
Sets index of attribute to discretize on- Parameters:
classIndex
- the index (starting from 1) of the class attribute
-
getBias
public double getBias()
Get the calculated bias squared- Returns:
- the bias squared
-
getVariance
public double getVariance()
Get the calculated variance- Returns:
- the variance
-
getSigma
public double getSigma()
Get the calculated sigma squared- Returns:
- the sigma squared
-
getError
public double getError()
Get the calculated error rate- Returns:
- the error rate
-
decompose
public void decompose() throws java.lang.Exception
Carry out the bias-variance decomposition- Throws:
java.lang.Exception
- if the decomposition couldn't be carried out
-
toString
public java.lang.String toString()
Returns description of the bias-variance decomposition results.- Overrides:
toString
in classjava.lang.Object
- Returns:
- the bias-variance decomposition results as a string
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
public static void main(java.lang.String[] args)
Test method for this class- Parameters:
args
- the command line arguments
-
-