public class MITI
extends weka.classifiers.RandomizableClassifier
implements weka.core.OptionHandler, weka.core.AdditionalMeasureProducer, weka.core.TechnicalInformationHandler, weka.core.MultiInstanceCapabilitiesHandler
@inproceedings{Blockeel2005, author = {Hendrik Blockeel and David Page and Ashwin Srinivasan}, booktitle = {Proceedings of the International Conference on Machine Learning}, pages = {57-64}, publisher = {ACM}, title = {Multi-instance Tree Learning}, year = {2005} } @inproceedings{Bjerring2011, author = {Luke Bjerring and Eibe Frank}, booktitle = {Proceedings of the Australasian Joint Conference on Artificial Intelligence}, publisher = {Springer}, title = {Beyond Trees: Adopting MITI to Learn Rules and Ensemble Classifiers for Multi-instance Data}, year = {2011} }Valid options are:
-M [1|2|3] The method used to determine best split: 1. Gini; 2. MaxBEPP; 3. SSBEPP
-K [kBEPPConstant] The constant used in the tozero() hueristic
-L Scales the value of K to the size of the bags
-U Use unbiased estimate rather than BEPP, i.e. UEPP.
-B Uses the instances present for the bag counts at each node when splitting, weighted according to 1 - Ba ^ n, where n is the number of instances present which belong to the bag, and Ba is another parameter (default 0.5)
-Ba [multiplier] Multiplier for count influence of a bag based on the number of its instances
-A [number of attributes] The number of randomly selected attributes to split -1: All attributes -2: square root of the total number of attributes
-An [number of splits] The number of top scoring attribute splits to randomly pick from -1: All splits (completely random selection) -2: square root of the number of splits
-S <num> Random number seed. (default 1)
-D If set, classifier is run in debug mode and may output additional info to the console
Modifier and Type | Field and Description |
---|---|
static int |
SPLITMETHOD_GINI |
static int |
SPLITMETHOD_MAXBEPP |
static int |
SPLITMETHOD_SSBEPP |
static weka.core.Tag[] |
TAGS_SPLITMETHOD |
Constructor and Description |
---|
MITI() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
attributesToSplitTipText()
Help for attributes to split
|
java.lang.String |
baTipText()
Help for bag-based stats parameter.
|
java.lang.String |
bTipText()
Help for bag-based stats flag.
|
void |
buildClassifier(weka.core.Instances trainingData)
Learns the classifier from the training data.
|
double[] |
distributionForInstance(weka.core.Instance newBag)
Returns the "class distribution" for the given bag.
|
java.util.Enumeration<java.lang.String> |
enumerateMeasures()
Returns an enumeration of the additional measure names.
|
int |
getAttributesToSplit()
Getter method.
|
boolean |
getB()
Getter for B.
|
double |
getBa()
Getter for Ba.
|
weka.core.Capabilities |
getCapabilities()
Returns the capabilities of this classifier.
|
int |
getK()
Getter for K.
|
boolean |
getL()
Getter for L.
|
double |
getMeasure(java.lang.String additionalMeasureName)
Returns the value of the named measure.
|
weka.core.Capabilities |
getMultiInstanceCapabilities()
Returns the capabilities of this multi-instance classifier for the
relational data.
|
java.lang.String[] |
getOptions()
Gets the current settings of the Classifier.
|
weka.core.SelectedTag |
getSplitMethod()
Getter method.
|
weka.core.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.
|
int |
getTopNAttributesToSplit()
Getter method.
|
boolean |
getUnbiasedEstimate()
Getter for unbiased estimate flag.
|
java.lang.String |
globalInfo()
Returns a string describing classifier
|
java.lang.String |
kTipText()
Help for K parameter.
|
java.util.Enumeration<weka.core.Option> |
listOptions()
Lists the options for this classifier.
|
java.lang.String |
lTipText()
Help for scale parameter.
|
static void |
main(java.lang.String[] options)
Used to run the classifier from the command-line.
|
void |
setAttributesToSplit(int newValue)
Setter method.
|
void |
setB(boolean newValue)
Setter for B.
|
void |
setBa(double newValue)
Setter for Ba.
|
void |
setK(int newValue)
Setter for K.
|
void |
setL(boolean newValue)
Setter for L.
|
void |
setOptions(java.lang.String[] options)
Determines the settings of the Classifier.
|
void |
setSplitMethod(weka.core.SelectedTag newMethod)
Setter method.
|
void |
setTopNAttributesToSplit(int newValue)
Setter method.
|
void |
setUnbiasedEstimate(boolean newValue)
Setter for unbiased estimate flag.
|
java.lang.String |
splitMethodTipText()
Help for split measure selection.
|
java.lang.String |
topNAttributesToSplitTipText()
Help for top-N attributes to split
|
java.lang.String |
toString()
Outputs tree as a string.
|
java.lang.String |
unbiasedEstimateTipText()
Help for unbiased estimate flag.
|
batchSizeTipText, classifyInstance, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, getRevision, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
public static final int SPLITMETHOD_GINI
public static final int SPLITMETHOD_MAXBEPP
public static final int SPLITMETHOD_SSBEPP
public static final weka.core.Tag[] TAGS_SPLITMETHOD
public java.lang.String globalInfo()
public weka.core.TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface weka.core.TechnicalInformationHandler
public weka.core.Capabilities getCapabilities()
getCapabilities
in interface weka.classifiers.Classifier
getCapabilities
in interface weka.core.CapabilitiesHandler
getCapabilities
in class weka.classifiers.AbstractClassifier
public weka.core.Capabilities getMultiInstanceCapabilities()
getMultiInstanceCapabilities
in interface weka.core.MultiInstanceCapabilitiesHandler
Capabilities
public void buildClassifier(weka.core.Instances trainingData) throws java.lang.Exception
buildClassifier
in interface weka.classifiers.Classifier
java.lang.Exception
public java.util.Enumeration<java.lang.String> enumerateMeasures()
enumerateMeasures
in interface weka.core.AdditionalMeasureProducer
public double getMeasure(java.lang.String additionalMeasureName)
getMeasure
in interface weka.core.AdditionalMeasureProducer
additionalMeasureName
- the name of the measure to query for its valuejava.lang.IllegalArgumentException
- if the named measure is not supportedpublic double[] distributionForInstance(weka.core.Instance newBag) throws java.lang.Exception
distributionForInstance
in interface weka.classifiers.Classifier
distributionForInstance
in class weka.classifiers.AbstractClassifier
java.lang.Exception
public java.util.Enumeration<weka.core.Option> listOptions()
-M [1|2|3] The method used to determine best split: 1. Gini; 2. MaxBEPP; 3. SSBEPP
-K [kBEPPConstant] The constant used in the tozero() hueristic
-L Scales the value of K to the size of the bags
-U Use unbiased estimate rather than BEPP, i.e. UEPP.
-B Uses the instances present for the bag counts at each node when splitting, weighted according to 1 - Ba ^ n, where n is the number of instances present which belong to the bag, and Ba is another parameter (default 0.5)
-Ba [multiplier] Multiplier for count influence of a bag based on the number of its instances
-A [number of attributes] The number of randomly selected attributes to split -1: All attributes -2: square root of the total number of attributes
-An [number of splits] The number of top scoring attribute splits to randomly pick from -1: All splits (completely random selection) -2: square root of the number of splits
-S <num> Random number seed. (default 1)
-D If set, classifier is run in debug mode and may output additional info to the console
listOptions
in interface weka.core.OptionHandler
listOptions
in class weka.classifiers.RandomizableClassifier
public void setOptions(java.lang.String[] options) throws java.lang.Exception
setOptions
in interface weka.core.OptionHandler
setOptions
in class weka.classifiers.RandomizableClassifier
java.lang.Exception
public java.lang.String[] getOptions()
getOptions
in interface weka.core.OptionHandler
getOptions
in class weka.classifiers.RandomizableClassifier
public java.lang.String kTipText()
public int getK()
public void setK(int newValue)
public java.lang.String lTipText()
public boolean getL()
public void setL(boolean newValue)
public java.lang.String unbiasedEstimateTipText()
public boolean getUnbiasedEstimate()
public void setUnbiasedEstimate(boolean newValue)
public java.lang.String bTipText()
public boolean getB()
public void setB(boolean newValue)
public java.lang.String baTipText()
public double getBa()
public void setBa(double newValue)
public java.lang.String attributesToSplitTipText()
public int getAttributesToSplit()
public void setAttributesToSplit(int newValue)
public java.lang.String topNAttributesToSplitTipText()
public int getTopNAttributesToSplit()
public void setTopNAttributesToSplit(int newValue)
public java.lang.String splitMethodTipText()
public void setSplitMethod(weka.core.SelectedTag newMethod)
public weka.core.SelectedTag getSplitMethod()
public java.lang.String toString()
toString
in class java.lang.Object
public static void main(java.lang.String[] options)