de.lmu.ifi.dbs.elki.utilities.scaling.outlier
Class OutlierLinearScaling

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierLinearScaling
All Implemented Interfaces:
InspectionUtilFrequentlyScanned, Parameterizable, OutlierScalingFunction, ScalingFunction

public class OutlierLinearScaling
extends Object
implements OutlierScalingFunction

Scaling that can map arbitrary values to a probability in the range of [0:1]. Transformation is done by linear mapping onto 0:1 using the minimum and maximum values.


Nested Class Summary
static class OutlierLinearScaling.Parameterizer
          Parameterization class.
 
Field Summary
(package private)  double factor
          Scaling factor to use (1/ max - min)
protected  Double max
          Field storing the Maximum value
static OptionID MAX_ID
          Parameter to specify the maximum value Key: -linearscale.max
static OptionID MEAN_ID
          Flag to use the mean as minimum for scaling.
protected  Double min
          Field storing the Minimum to use
static OptionID MIN_ID
          Parameter to specify a fixed minimum to use.
(package private)  boolean nozeros
          Ignore zero values
static OptionID NOZEROS_ID
          Flag to use ignore zeros when computing the min and max.
(package private)  boolean usemean
          Use the mean for scaling
 
Constructor Summary
OutlierLinearScaling()
          Constructor.
OutlierLinearScaling(Double min, Double max, boolean usemean, boolean nozeros)
          Constructor.
 
Method Summary
 double getMax()
          Get maximum resulting value.
 double getMin()
          Get minimum resulting value.
 double getScaled(double value)
          Transform a given value using the scaling function.
 void prepare(OutlierResult or)
          Prepare is called once for each data set, before getScaled() will be called.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIN_ID

public static final OptionID MIN_ID
Parameter to specify a fixed minimum to use.

Key: -linearscale.min


MAX_ID

public static final OptionID MAX_ID
Parameter to specify the maximum value

Key: -linearscale.max


MEAN_ID

public static final OptionID MEAN_ID
Flag to use the mean as minimum for scaling.

Key: -linearscale.usemean


NOZEROS_ID

public static final OptionID NOZEROS_ID
Flag to use ignore zeros when computing the min and max.

Key: -linearscale.ignorezero


min

protected Double min
Field storing the Minimum to use


max

protected Double max
Field storing the Maximum value


factor

double factor
Scaling factor to use (1/ max - min)


usemean

boolean usemean
Use the mean for scaling


nozeros

boolean nozeros
Ignore zero values

Constructor Detail

OutlierLinearScaling

public OutlierLinearScaling()
Constructor.


OutlierLinearScaling

public OutlierLinearScaling(Double min,
                            Double max,
                            boolean usemean,
                            boolean nozeros)
Constructor.

Parameters:
min -
max -
usemean -
nozeros -
Method Detail

getScaled

public double getScaled(double value)
Description copied from interface: ScalingFunction
Transform a given value using the scaling function.

Specified by:
getScaled in interface ScalingFunction
Parameters:
value - Original value
Returns:
Scaled value

prepare

public void prepare(OutlierResult or)
Description copied from interface: OutlierScalingFunction
Prepare is called once for each data set, before getScaled() will be called. This function can be used to extract global parameters such as means, minimums or maximums from the Database, Result or Annotation.

Specified by:
prepare in interface OutlierScalingFunction
Parameters:
or - Outlier result to use

getMin

public double getMin()
Description copied from interface: ScalingFunction
Get minimum resulting value. May be Double.NaN or Double.NEGATIVE_INFINITY.

Specified by:
getMin in interface ScalingFunction
Returns:
Minimum resulting value.

getMax

public double getMax()
Description copied from interface: ScalingFunction
Get maximum resulting value. May be Double.NaN or Double.POSITIVE_INFINITY.

Specified by:
getMax in interface ScalingFunction
Returns:
Maximum resulting value.

Release 0.4.0 (2011-09-20_1324)