## de.lmu.ifi.dbs.elki.utilities.scaling.outlier Class MultiplicativeInverseScaling

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

```@Reference(authors="H.-P. Kriegel, P. Kr\u00f6ger, E. Schubert, A. Zimek",
title="Interpreting and Unifying Outlier Scores",
booktitle="Proc. 11th SIAM International Conference on Data Mining (SDM), Mesa, AZ, 2011",
url="http://www.dbs.ifi.lmu.de/~zimek/publications/SDM2011/SDM11-outlier-preprint.pdf")
public class MultiplicativeInverseScalingextends Objectimplements OutlierScalingFunction```

Scaling function to invert values basically by computing 1/x, but in a variation that maps the values to the [0:1] interval and avoiding division by 0. The exact formula can be written as 1 / (value * max_{x!=0}(1 / abs(x))) = min_{x != 0}(abs(x)) / x with 1 / 0 := 1

Field Summary
`(package private)  double` `scaleval`
Scaling value, set by `prepare(de.lmu.ifi.dbs.elki.result.outlier.OutlierResult)`.

Constructor Summary
`MultiplicativeInverseScaling()`
Constructor, adhering to `Parameterizable`

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.
`private static double` `getScaleValue(OutlierResult or)`
Compute the scaling value in a linear scan over the annotation.
` 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

### scaleval

`double scaleval`
Scaling value, set by `prepare(de.lmu.ifi.dbs.elki.result.outlier.OutlierResult)`.

Constructor Detail

### MultiplicativeInverseScaling

`public MultiplicativeInverseScaling()`
Constructor, adhering to `Parameterizable`

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

### getScaleValue

`private static double getScaleValue(OutlierResult or)`
Compute the scaling value in a linear scan over the annotation.

Parameters:
`or` - Outlier result
Returns:
Scaling value.

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