Class Log1PlusNormalization<V extends elki.data.NumberVector>

  • Type Parameters:
    V - vector type
    All Implemented Interfaces:
    elki.datasource.bundle.BundleStreamSource, Normalization<V>, elki.datasource.filter.ObjectFilter, elki.datasource.filter.StreamFilter

    public class Log1PlusNormalization<V extends elki.data.NumberVector>
    extends AbstractVectorStreamConversionFilter<V,​V>
    implements Normalization<V>
    Normalize the data set by applying \( \frac{\log(1+|x|b)}{\log 1+b} \) to any value. If the input data was in [0;1], then the resulting values will be in [0;1], too.

    By default b=1, and thus the transformation is \(\log_2(1+|x|)\).

    Since:
    0.7.0
    Author:
    Erich Schubert
    • Field Detail

      • boost

        protected double boost
        Boosting factor, and scaling coefficient.
      • scale

        protected double scale
        Boosting factor, and scaling coefficient.
    • Constructor Detail

      • Log1PlusNormalization

        public Log1PlusNormalization​(double boost)
        Constructor.
        Parameters:
        boost - Boosting parameter
    • Method Detail

      • filterSingleObject

        protected V filterSingleObject​(V featureVector)
        Description copied from class: AbstractStreamConversionFilter
        Normalize a single instance. You can implement this as UnsupportedOperationException if you override both public "normalize" functions!
        Specified by:
        filterSingleObject in class AbstractStreamConversionFilter<V extends elki.data.NumberVector,​V extends elki.data.NumberVector>
        Parameters:
        featureVector - Database object to normalize
        Returns:
        Normalized database object
      • convertedType

        protected elki.data.type.SimpleTypeInformation<? super V> convertedType​(elki.data.type.SimpleTypeInformation<V> in)
        Description copied from class: AbstractStreamConversionFilter
        Get the output type from the input type after conversion.
        Specified by:
        convertedType in class AbstractStreamConversionFilter<V extends elki.data.NumberVector,​V extends elki.data.NumberVector>
        Parameters:
        in - input type restriction
        Returns:
        output type restriction