Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.normalization
Class MultiRepresentedObjectNormalization<O extends DatabaseObject>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
          extended by de.lmu.ifi.dbs.elki.normalization.AbstractNormalization<MultiRepresentedObject<O>>
              extended by de.lmu.ifi.dbs.elki.normalization.MultiRepresentedObjectNormalization<O>
Type Parameters:
O - object type
All Implemented Interfaces:
Normalization<MultiRepresentedObject<O>>, Parameterizable

public class MultiRepresentedObjectNormalization<O extends DatabaseObject>
extends AbstractNormalization<MultiRepresentedObject<O>>

Class to perform and undo a normalization on multi-represented objects with respect to given normalizations for each representation.

Author:
Elke Achtert

Field Summary
static String DEFAULT_NORMALIZATION
          Default normalization.
 OptionID NORMALIZATION_ID
          Option ID for normalizations
private  ClassListParameter<Normalization<O>> NORMALIZATION_PARAM
          Normalization class parameter
private  List<Normalization<O>> normalizations
          The normalizations for each representation.
static Pattern SPLIT
          A pattern defining a comma.
 
Fields inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
optionHandler
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
MultiRepresentedObjectNormalization()
          Sets normalization parameter to the optionhandler.
 
Method Summary
private  void initDefaultNormalizations(int numberOfRepresentations)
          Init default normalizations for a given number of representations.
 List<MultiRepresentedObject<O>> normalize(List<MultiRepresentedObject<O>> featureVectors)
          Performs a normalization on a set of feature vectors.
 List<Pair<MultiRepresentedObject<O>,Associations>> normalizeObjects(List<Pair<MultiRepresentedObject<O>,Associations>> objectAndAssociationsList)
          Performs a normalization on a list of database objects and their associations.
 List<MultiRepresentedObject<O>> restore(List<MultiRepresentedObject<O>> featureVectors)
          Transforms a set of feature vectors to the original attribute ranges.
 MultiRepresentedObject<O> restore(MultiRepresentedObject<O> featureVector)
          Transforms a feature vector to the original attribute ranges.
 List<String> setParameters(List<String> args)
          Sets the attributes of the class accordingly to the given parameters.
 String toString(String pre)
          Returns a string representation of this normalization.
 LinearEquationSystem transform(LinearEquationSystem linearEquationSystem)
          Transforms a linear equation system describing linear dependencies derived on the normalized space into a linear equation system describing linear dependencies quantitatively adapted to the original space.
 
Methods inherited from class de.lmu.ifi.dbs.elki.normalization.AbstractNormalization
toString
 
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
addOption, addParameterizable, addParameterizable, checkGlobalParameterConstraints, collectOptions, getAttributeSettings, getParameters, rememberParametersExcept, removeOption, removeParameterizable, shortDescription
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable
checkGlobalParameterConstraints, collectOptions, getParameters, shortDescription
 

Field Detail

DEFAULT_NORMALIZATION

public static final String DEFAULT_NORMALIZATION
Default normalization.


NORMALIZATION_ID

public final OptionID NORMALIZATION_ID
Option ID for normalizations


NORMALIZATION_PARAM

private final ClassListParameter<Normalization<O extends DatabaseObject>> NORMALIZATION_PARAM
Normalization class parameter


SPLIT

public static final Pattern SPLIT
A pattern defining a comma.


normalizations

private List<Normalization<O extends DatabaseObject>> normalizations
The normalizations for each representation.

Constructor Detail

MultiRepresentedObjectNormalization

public MultiRepresentedObjectNormalization()
Sets normalization parameter to the optionhandler.

Method Detail

normalizeObjects

public List<Pair<MultiRepresentedObject<O>,Associations>> normalizeObjects(List<Pair<MultiRepresentedObject<O>,Associations>> objectAndAssociationsList)
                                                                                           throws NonNumericFeaturesException
Performs a normalization on a list of database objects and their associations.

Parameters:
objectAndAssociationsList - the list of database objects and their associations
Returns:
a list of normalized database objects and their associations corresponding to the given list
Throws:
NonNumericFeaturesException - if feature vectors differ in length or values are not suitable to normalization

normalize

public List<MultiRepresentedObject<O>> normalize(List<MultiRepresentedObject<O>> featureVectors)
                                                                 throws NonNumericFeaturesException
Description copied from interface: Normalization
Performs a normalization on a set of feature vectors.

Parameters:
featureVectors - a set of feature vectors to be normalized
Returns:
a set of normalized feature vectors corresponding to the given feature vectors but being different objects
Throws:
NonNumericFeaturesException - if feature vectors differ in length or values are not suitable to normalization

initDefaultNormalizations

private void initDefaultNormalizations(int numberOfRepresentations)
Init default normalizations for a given number of representations.

Parameters:
numberOfRepresentations -

restore

public List<MultiRepresentedObject<O>> restore(List<MultiRepresentedObject<O>> featureVectors)
                                                               throws NonNumericFeaturesException
Transforms a set of feature vectors to the original attribute ranges.

Parameters:
featureVectors - a set of feature vectors to be transformed into original space
Returns:
a set of feature vectors transformed into original space corresponding to the given feature vectors
Throws:
NonNumericFeaturesException - if feature vectors differ in length or are not compatible with values initialized during normalization

restore

public MultiRepresentedObject<O> restore(MultiRepresentedObject<O> featureVector)
                                                         throws NonNumericFeaturesException
Transforms a feature vector to the original attribute ranges.

Parameters:
featureVector - a feature vector to be transformed into original space
Returns:
a feature vector transformed into original space corresponding to the given feature vector
Throws:
NonNumericFeaturesException - feature vector is not compatible with values initialized during normalization

transform

public LinearEquationSystem transform(LinearEquationSystem linearEquationSystem)
Description copied from interface: Normalization
Transforms a linear equation system describing linear dependencies derived on the normalized space into a linear equation system describing linear dependencies quantitatively adapted to the original space.

Parameters:
linearEquationSystem - ignored
Returns:
a linear equation system describing linear dependencies derived on the normalized space transformed into a linear equation system describing linear dependencies quantitatively adapted to the original space
Throws:
UnsupportedOperationException

toString

public String toString(String pre)
Returns a string representation of this normalization. The specified prefix pre will be the prefix of each new line. This method is used to write the parameters of a normalization to a result of an algorithm using this normalization.

Parameters:
pre - the prefix of each new line
Returns:
a string representation of this normalization

setParameters

public List<String> setParameters(List<String> args)
                           throws ParameterException
Sets the attributes of the class accordingly to the given parameters. Returns a new String array containing those entries of the given array that are neither expected nor used by this Parameterizable.

Specified by:
setParameters in interface Parameterizable
Overrides:
setParameters in class AbstractParameterizable
Parameters:
args - parameters to set the attributes accordingly to
Returns:
String[] an array containing the unused parameters
Throws:
IllegalArgumentException - in case of wrong parameter-setting
ParameterException - in case of wrong parameter-setting

Release 0.2 (2009-07-06_1820)