Package weka.classifiers.mi
Class MIBoost
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.SingleClassifierEnhancer
-
- weka.classifiers.mi.MIBoost
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,CapabilitiesHandler,MultiInstanceCapabilitiesHandler,OptionHandler,RevisionHandler,TechnicalInformationHandler
public class MIBoost extends SingleClassifierEnhancer implements OptionHandler, MultiInstanceCapabilitiesHandler, TechnicalInformationHandler
MI AdaBoost method, considers the geometric mean of posterior of instances inside a bag (arithmatic mean of log-posterior) and the expectation for a bag is taken inside the loss function.
For more information about Adaboost, see:
Yoav Freund, Robert E. Schapire: Experiments with a new boosting algorithm. In: Thirteenth International Conference on Machine Learning, San Francisco, 148-156, 1996. BibTeX:@inproceedings{Freund1996, address = {San Francisco}, author = {Yoav Freund and Robert E. Schapire}, booktitle = {Thirteenth International Conference on Machine Learning}, pages = {148-156}, publisher = {Morgan Kaufmann}, title = {Experiments with a new boosting algorithm}, year = {1996} }Valid options are:-D Turn on debugging output.
-B <num> The number of bins in discretization (default 0, no discretization)
-R <num> Maximum number of boost iterations. (default 10)
-W <class name> Full name of classifier to boost. eg: weka.classifiers.bayes.NaiveBayes
-D If set, classifier is run in debug mode and may output additional info to the console
- Version:
- $Revision: 9144 $
- Author:
- Eibe Frank (eibe@cs.waikato.ac.nz), Xin Xu (xx5@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description MIBoost()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances exps)Builds the classifierjava.lang.StringdiscretizeBinTipText()Returns the tip text for this propertydouble[]distributionForInstance(Instance exmp)Computes the distribution for a given exemplarCapabilitiesgetCapabilities()Returns default capabilities of the classifier.intgetDiscretizeBin()Get the number of bins in discretizationintgetMaxIterations()Get the maximum number of boost iterationsCapabilitiesgetMultiInstanceCapabilities()Returns the capabilities of this multi-instance classifier for the relational data.java.lang.String[]getOptions()Gets the current settings of the classifier.java.lang.StringgetRevision()Returns the revision string.TechnicalInformationgetTechnicalInformation()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.java.lang.StringglobalInfo()Returns a string describing this filterjava.util.EnumerationlistOptions()Returns an enumeration describing the available optionsstatic voidmain(java.lang.String[] argv)Main method for testing this class.java.lang.StringmaxIterationsTipText()Returns the tip text for this propertyvoidsetDiscretizeBin(int bin)Set the number of bins in discretizationvoidsetMaxIterations(int maxIterations)Set the maximum number of boost iterationsvoidsetOptions(java.lang.String[] options)Parses a given list of options.java.lang.StringtoString()Gets a string describing the classifier.-
Methods inherited from class weka.classifiers.SingleClassifierEnhancer
classifierTipText, getClassifier, setClassifier
-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this filter- Returns:
- a description of the filter 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:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classSingleClassifierEnhancer- Returns:
- an enumeration of all the available options
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionParses a given list of options. Valid options are:-D Turn on debugging output.
-B <num> The number of bins in discretization (default 0, no discretization)
-R <num> Maximum number of boost iterations. (default 10)
-W <class name> Full name of classifier to boost. eg: weka.classifiers.bayes.NaiveBayes
-D If set, classifier is run in debug mode and may output additional info to the console
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classSingleClassifierEnhancer- 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 classifier.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classSingleClassifierEnhancer- Returns:
- an array of strings suitable for passing to setOptions
-
maxIterationsTipText
public java.lang.String maxIterationsTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setMaxIterations
public void setMaxIterations(int maxIterations)
Set the maximum number of boost iterations- Parameters:
maxIterations- the maximum number of boost iterations
-
getMaxIterations
public int getMaxIterations()
Get the maximum number of boost iterations- Returns:
- the maximum number of boost iterations
-
discretizeBinTipText
public java.lang.String discretizeBinTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setDiscretizeBin
public void setDiscretizeBin(int bin)
Set the number of bins in discretization- Parameters:
bin- the number of bins in discretization
-
getDiscretizeBin
public int getDiscretizeBin()
Get the number of bins in discretization- Returns:
- the number of bins in discretization
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classSingleClassifierEnhancer- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
getMultiInstanceCapabilities
public Capabilities getMultiInstanceCapabilities()
Returns the capabilities of this multi-instance classifier for the relational data.- Specified by:
getMultiInstanceCapabilitiesin interfaceMultiInstanceCapabilitiesHandler- Returns:
- the capabilities of this object
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances exps) throws java.lang.Exception
Builds the classifier- Specified by:
buildClassifierin classClassifier- Parameters:
exps- the training data to be used for generating the boosted classifier.- Throws:
java.lang.Exception- if the classifier could not be built successfully
-
distributionForInstance
public double[] distributionForInstance(Instance exmp) throws java.lang.Exception
Computes the distribution for a given exemplar- Overrides:
distributionForInstancein classClassifier- Parameters:
exmp- the exemplar for which distribution is computed- Returns:
- the classification
- Throws:
java.lang.Exception- if the distribution can't be computed successfully
-
toString
public java.lang.String toString()
Gets a string describing the classifier.- Overrides:
toStringin classjava.lang.Object- Returns:
- a string describing the classifer built.
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classClassifier- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class.- Parameters:
argv- should contain the command line arguments to the scheme (see Evaluation)
-
-