Class MultiplicativeInverseScaling

  • All Implemented Interfaces:
    OutlierScaling, elki.utilities.scaling.ScalingFunction

    @Reference(authors="Hans-Peter Kriegel, Peer Kr\u00f6ger, Erich Schubert, Arthur Zimek",
               title="Interpreting and Unifying Outlier Scores",
               booktitle="Proc. 11th SIAM International Conference on Data Mining (SDM 2011)",
               url="https://doi.org/10.1137/1.9781611972818.2",
               bibkey="DBLP:conf/sdm/KriegelKSZ11")
    public class MultiplicativeInverseScaling
    extends java.lang.Object
    implements OutlierScaling
    Scaling function to invert values 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 / (v \cdot \max_{x\neq 0}\frac{1}{|x|}) = \min_{x \neq 0}(|x|) / v \] with 1 / 0 := 1

    Reference:

    Hans-Peter Kriegel, Peer Kröger, Erich Schubert, Arthur Zimek
    Interpreting and Unifying Outlier Scores
    Proc. 11th SIAM International Conference on Data Mining (SDM 2011)

    Since:
    0.3
    Author:
    Erich Schubert
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double getMax()  
      double getMin()  
      double getScaled​(double value)  
      <A> void prepare​(A array, elki.utilities.datastructures.arraylike.NumberArrayAdapter<?,​A> adapter)
      Prepare is called once for each data set, before getScaled() will be called.
      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
    • Constructor Detail

      • MultiplicativeInverseScaling

        public MultiplicativeInverseScaling()
        Constructor.
    • Method Detail

      • getScaled

        public double getScaled​(double value)
        Specified by:
        getScaled in interface elki.utilities.scaling.ScalingFunction
      • prepare

        public void prepare​(OutlierResult or)
        Description copied from interface: OutlierScaling
        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 outlier scores.
        Specified by:
        prepare in interface OutlierScaling
        Parameters:
        or - Outlier result to use
      • prepare

        public <A> void prepare​(A array,
                                elki.utilities.datastructures.arraylike.NumberArrayAdapter<?,​A> adapter)
        Description copied from interface: OutlierScaling
        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 score array. The method using a full OutlierResult is preferred, as it will allow access to the metadata.
        Specified by:
        prepare in interface OutlierScaling
        Parameters:
        array - Data to process
        adapter - Array adapter
      • getMin

        public double getMin()
        Specified by:
        getMin in interface elki.utilities.scaling.ScalingFunction
      • getMax

        public double getMax()
        Specified by:
        getMax in interface elki.utilities.scaling.ScalingFunction