Package weka.classifiers.mi
Class MIEMDD
java.lang.Object
weka.classifiers.Classifier
weka.classifiers.RandomizableClassifier
weka.classifiers.mi.MIEMDD
- All Implemented Interfaces:
Serializable
,Cloneable
,CapabilitiesHandler
,MultiInstanceCapabilitiesHandler
,OptionHandler
,Randomizable
,RevisionHandler
,TechnicalInformationHandler
public class MIEMDD
extends RandomizableClassifier
implements OptionHandler, MultiInstanceCapabilitiesHandler, TechnicalInformationHandler
EMDD model builds heavily upon Dietterich's Diverse Density (DD) algorithm.
It is a general framework for MI learning of converting the MI problem to a single-instance setting using EM. In this implementation, we use most-likely cause DD model and only use 3 random selected postive bags as initial starting points of EM.
For more information see:
Qi Zhang, Sally A. Goldman: EM-DD: An Improved Multiple-Instance Learning Technique. In: Advances in Neural Information Processing Systems 14, 1073-108, 2001. BibTeX:
It is a general framework for MI learning of converting the MI problem to a single-instance setting using EM. In this implementation, we use most-likely cause DD model and only use 3 random selected postive bags as initial starting points of EM.
For more information see:
Qi Zhang, Sally A. Goldman: EM-DD: An Improved Multiple-Instance Learning Technique. In: Advances in Neural Information Processing Systems 14, 1073-108, 2001. BibTeX:
@inproceedings{Zhang2001, author = {Qi Zhang and Sally A. Goldman}, booktitle = {Advances in Neural Information Processing Systems 14}, pages = {1073-108}, publisher = {MIT Press}, title = {EM-DD: An Improved Multiple-Instance Learning Technique}, year = {2001} }Valid options are:
-N <num> Whether to 0=normalize/1=standardize/2=neither. (default 1=standardize)
-S <num> Random number seed. (default 1)
-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), Lin Dong (ld21@cs.waikato.ac.nz)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
No normalization/standardizationstatic final int
Normalize training datastatic final int
Standardize training datastatic final Tag[]
The filter to apply to the training data -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
buildClassifier
(Instances train) Builds the classifierdouble[]
Computes the distribution for a given exemplarReturns the tip text for this propertyReturns default capabilities of the classifier.Gets how the training data will be transformed.Returns the capabilities of this multi-instance classifier for the relational data.String[]
Gets the current settings of the classifier.Returns the revision string.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.Returns a string describing this filterReturns an enumeration describing the available optionsstatic void
Main method for testing this class.void
setFilterType
(SelectedTag newType) Sets how the training data will be transformed.void
setOptions
(String[] options) Parses a given list of options.toString()
Gets a string describing the classifier.Methods inherited from class weka.classifiers.RandomizableClassifier
getSeed, seedTipText, setSeed
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
Field Details
-
FILTER_NORMALIZE
public static final int FILTER_NORMALIZENormalize training data- See Also:
-
FILTER_STANDARDIZE
public static final int FILTER_STANDARDIZEStandardize training data- See Also:
-
FILTER_NONE
public static final int FILTER_NONENo normalization/standardization- See Also:
-
TAGS_FILTER
The filter to apply to the training data
-
-
Constructor Details
-
MIEMDD
public MIEMDD()
-
-
Method Details
-
globalInfo
Returns a string describing this filter- Returns:
- a description of the filter suitable for displaying in the explorer/experimenter gui
-
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
Returns an enumeration describing the available options- Specified by:
listOptions
in interfaceOptionHandler
- Overrides:
listOptions
in classRandomizableClassifier
- Returns:
- an enumeration of all the available options
-
setOptions
Parses a given list of options. Valid options are:-N <num> Whether to 0=normalize/1=standardize/2=neither. (default 1=standardize)
-S <num> Random number seed. (default 1)
-D If set, classifier is run in debug mode and may output additional info to the console
- Specified by:
setOptions
in interfaceOptionHandler
- Overrides:
setOptions
in classRandomizableClassifier
- Parameters:
options
- the list of options as an array of strings- Throws:
Exception
- if an option is not supported
-
getOptions
Gets the current settings of the classifier.- Specified by:
getOptions
in interfaceOptionHandler
- Overrides:
getOptions
in classRandomizableClassifier
- Returns:
- an array of strings suitable for passing to setOptions
-
filterTypeTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getFilterType
Gets how the training data will be transformed. Will be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.- Returns:
- the filtering mode
-
setFilterType
Sets how the training data will be transformed. Should be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.- Parameters:
newType
- the new filtering mode
-
getCapabilities
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceCapabilitiesHandler
- Overrides:
getCapabilities
in classClassifier
- Returns:
- the capabilities of this classifier
- See Also:
-
getMultiInstanceCapabilities
Returns the capabilities of this multi-instance classifier for the relational data.- Specified by:
getMultiInstanceCapabilities
in interfaceMultiInstanceCapabilitiesHandler
- Returns:
- the capabilities of this object
- See Also:
-
buildClassifier
Builds the classifier- Specified by:
buildClassifier
in classClassifier
- Parameters:
train
- the training data to be used for generating the boosted classifier.- Throws:
Exception
- if the classifier could not be built successfully
-
distributionForInstance
Computes the distribution for a given exemplar- Overrides:
distributionForInstance
in classClassifier
- Parameters:
exmp
- the exemplar for which distribution is computed- Returns:
- the distribution
- Throws:
Exception
- if the distribution can't be computed successfully
-
toString
Gets a string describing the classifier. -
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classClassifier
- Returns:
- the revision
-
main
Main method for testing this class.- Parameters:
argv
- should contain the command line arguments to the scheme (see Evaluation)
-