Package weka.filters.unsupervised.attribute

# Class MultiInstanceToPropositional

java.lang.Object
weka.filters.Filter
weka.filters.unsupervised.attribute.MultiInstanceToPropositional

All Implemented Interfaces:
  `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: 9141 $
Author:
  Lin Dong (ld21@cs.waikato.ac.nz)
See Also:
  - `PropositionalToMultiInstance`
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Tag[]`
`TAGS_WEIGHTMETHOD`
weight methods
`static final int`
`WEIGHTMETHOD_1`
weight method: 1.0
`static final int`
`WEIGHTMETHOD_INVERSE1`
weight method: 1.0 / Total # of prop.
`static final int`
`WEIGHTMETHOD_INVERSE2`
weight method: Total # of prop.
`static final int`
`WEIGHTMETHOD_ORIGINAL`
weight method: keep the weight to be the same as the original value

## Constructor Summary

Constructors
Constructor
Description
`MultiInstanceToPropositional()`

## Method Summary

Modifier and Type
Method
Description
`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).
`String[]`
`getOptions()`
Gets the current settings of the classifier.
`String`
`getRevision()`
Returns the revision string.
`SelectedTag`
`getWeightMethod()`
Returns the current weighting method for instances.
`String`
`globalInfo()`
Returns a string describing this filter
`boolean`
`input(Instance instance)`
Input an instance for filtering.
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options
`static void`
`main(String[] args)`
Main method for running this filter.
`boolean`
`setInputFormat(Instances instanceInfo)`
Sets the format of the input instances.
`void`
`setOptions(String[] options)`
Parses a given list of options.
`void`
`setWeightMethod(SelectedTag method)`
The new method for weighting the instances.
`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 Details

### 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 Details

### MultiInstanceToPropositional

public MultiInstanceToPropositional()

## Method Details

### listOptions

public 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(String[] options) throws 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:
  `Exception` - if an option is not supported

### getOptions

public 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 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 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 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:
  `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:
  `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:
  `IllegalStateException` - if no input structure has been defined

### getRevision

public 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(String[] args)
Main method for running this filter.

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