weka.filters.unsupervised.attribute
Class MultiInstanceToPropositional

java.lang.Object
  extended by weka.filters.Filter
      extended by weka.filters.unsupervised.attribute.MultiInstanceToPropositional
All Implemented Interfaces:
java.io.Serializable, CapabilitiesHandler, MultiInstanceCapabilitiesHandler, OptionHandler, RevisionHandler, UnsupervisedFilter

public class MultiInstanceToPropositional
extends Filter
implements OptionHandler, UnsupervisedFilter, MultiInstanceCapabilitiesHandler

Converts the multi-instance dataset into single instance dataset so that the Nominalize, Standardize and other type of filters or transformation can be applied to these data for the further preprocessing.
Note: the first attribute of the converted dataset is a nominal attribute and refers to the bagId.

Valid options are:

 -A <num>
  The type of weight setting for each prop. instance:
  0.weight = original single bag weight /Total number of
  prop. instance in the corresponding bag;
  1.weight = 1.0;
  2.weight = 1.0/Total number of prop. instance in the 
   corresponding bag; 
  3. weight = Total number of prop. instance / (Total number 
   of bags * Total number of prop. instance in the 
   corresponding bag). 
  (default:0)

Version:
$Revision: 5543 $
Author:
Lin Dong (ld21@cs.waikato.ac.nz)
See Also:
PropositionalToMultiInstance, Serialized Form

Field Summary
static Tag[] TAGS_WEIGHTMETHOD
          weight methods
static int WEIGHTMETHOD_1
          weight method: 1.0
static int WEIGHTMETHOD_INVERSE1
          weight method: 1.0 / Total # of prop.
static int WEIGHTMETHOD_INVERSE2
          weight method: Total # of prop.
static int WEIGHTMETHOD_ORIGINAL
          weight method: keep the weight to be the same as the original value
 
Constructor Summary
MultiInstanceToPropositional()
           
 
Method Summary
 boolean batchFinished()
          Signify that this batch of input to the filter is finished.
 Capabilities getCapabilities()
          Returns the Capabilities of this filter.
 Capabilities getMultiInstanceCapabilities()
          Returns the capabilities of this multi-instance filter for the relational data (i.e., the bags).
 java.lang.String[] getOptions()
          Gets the current settings of the classifier.
 java.lang.String getRevision()
          Returns the revision string.
 SelectedTag getWeightMethod()
          Returns the current weighting method for instances.
 java.lang.String globalInfo()
          Returns a string describing this filter
 boolean input(Instance instance)
          Input an instance for filtering.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options
static void main(java.lang.String[] args)
          Main method for running this filter.
 boolean setInputFormat(Instances instanceInfo)
          Sets the format of the input instances.
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 void setWeightMethod(SelectedTag method)
          The new method for weighting the instances.
 java.lang.String weightMethodTipText()
          Returns the tip text for this property
 
Methods inherited from class weka.filters.Filter
batchFilterFile, filterFile, getCapabilities, getOutputFormat, isFirstBatchDone, isNewBatch, isOutputFormatDefined, makeCopies, makeCopy, numPendingOutput, output, outputPeek, toString, useFilter, wekaStaticWrapper
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

WEIGHTMETHOD_ORIGINAL

public static final int WEIGHTMETHOD_ORIGINAL
weight method: keep the weight to be the same as the original value

See Also:
Constant Field Values

WEIGHTMETHOD_1

public static final int WEIGHTMETHOD_1
weight method: 1.0

See Also:
Constant Field Values

WEIGHTMETHOD_INVERSE1

public static final int WEIGHTMETHOD_INVERSE1
weight method: 1.0 / Total # of prop. instance in the corresp. bag

See Also:
Constant Field Values

WEIGHTMETHOD_INVERSE2

public static final int WEIGHTMETHOD_INVERSE2
weight method: Total # of prop. instance / (Total # of bags * Total # of prop. instance in the corresp. bag)

See Also:
Constant Field Values

TAGS_WEIGHTMETHOD

public static final Tag[] TAGS_WEIGHTMETHOD
weight methods

Constructor Detail

MultiInstanceToPropositional

public MultiInstanceToPropositional()
Method Detail

listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options

Specified by:
listOptions in interface OptionHandler
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:

 -A <num>
  The type of weight setting for each prop. instance:
  0.weight = original single bag weight /Total number of
  prop. instance in the corresponding bag;
  1.weight = 1.0;
  2.weight = 1.0/Total number of prop. instance in the 
   corresponding bag; 
  3. weight = Total number of prop. instance / (Total number 
   of bags * Total number of prop. instance in the 
   corresponding bag). 
  (default:0)

Specified by:
setOptions in interface OptionHandler
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:
getOptions in interface OptionHandler
Returns:
an array of strings suitable for passing to setOptions

weightMethodTipText

public java.lang.String weightMethodTipText()
Returns the tip text for this property

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui

setWeightMethod

public void setWeightMethod(SelectedTag method)
The new method for weighting the instances.

Parameters:
method - the new method

getWeightMethod

public SelectedTag getWeightMethod()
Returns the current weighting method for instances.

Returns:
the current weight method

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

getCapabilities

public Capabilities getCapabilities()
Returns the Capabilities of this filter.

Specified by:
getCapabilities in interface CapabilitiesHandler
Overrides:
getCapabilities in class Filter
Returns:
the capabilities of this object
See Also:
Capabilities

getMultiInstanceCapabilities

public Capabilities getMultiInstanceCapabilities()
Returns the capabilities of this multi-instance filter for the relational data (i.e., the bags).

Specified by:
getMultiInstanceCapabilities in interface MultiInstanceCapabilitiesHandler
Returns:
the capabilities of this object
See Also:
Capabilities

setInputFormat

public boolean setInputFormat(Instances instanceInfo)
                       throws java.lang.Exception
Sets the format of the input instances.

Overrides:
setInputFormat in class Filter
Parameters:
instanceInfo - an Instances object containing the input instance structure (any instances contained in the object are ignored - only the structure is required).
Returns:
true if the outputFormat may be collected immediately
Throws:
java.lang.Exception - if the input format can't be set successfully

input

public boolean input(Instance instance)
Input an instance for filtering. Filter requires all training instances be read before producing output.

Overrides:
input in class Filter
Parameters:
instance - the input instance
Returns:
true if the filtered instance may now be collected with output().
Throws:
java.lang.IllegalStateException - if no input format has been set.

batchFinished

public boolean batchFinished()
Signify that this batch of input to the filter is finished. If the filter requires all instances prior to filtering, output() may now be called to retrieve the filtered instances.

Overrides:
batchFinished in class Filter
Returns:
true if there are instances pending output
Throws:
java.lang.IllegalStateException - if no input structure has been defined

getRevision

public java.lang.String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Overrides:
getRevision in class Filter
Returns:
the revision

main

public static void main(java.lang.String[] args)
Main method for running this filter.

Parameters:
args - should contain arguments to the filter: use -h for help