Class LengthNormalization<V extends elki.data.NumberVector>
- java.lang.Object
-
- elki.datasource.filter.AbstractStreamFilter
-
- elki.datasource.filter.AbstractStreamConversionFilter<I,O>
-
- elki.datasource.filter.AbstractVectorStreamConversionFilter<V,V>
-
- elki.datasource.filter.normalization.instancewise.LengthNormalization<V>
-
- Type Parameters:
V- vector type
- All Implemented Interfaces:
elki.datasource.bundle.BundleStreamSource,Normalization<V>,elki.datasource.filter.ObjectFilter,elki.datasource.filter.StreamFilter
public class LengthNormalization<V extends elki.data.NumberVector> extends AbstractVectorStreamConversionFilter<V,V> implements Normalization<V>
Class to perform a normalization on vectors to norm 1.- Since:
- 0.5.0
- Author:
- Heidi Kolb, Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLengthNormalization.Par<V extends elki.data.NumberVector>Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description (package private) it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMapmapMap used if converting sparse vectors.(package private) elki.distance.Norm<? super V>normNorm to use.-
Fields inherited from class elki.datasource.filter.AbstractVectorStreamConversionFilter
factory
-
Fields inherited from class elki.datasource.filter.AbstractStreamFilter
source
-
-
Constructor Summary
Constructors Constructor Description LengthNormalization(elki.distance.Norm<? super V> norm)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected elki.data.type.SimpleTypeInformation<? super V>convertedType(elki.data.type.SimpleTypeInformation<V> in)Get the output type from the input type after conversion.protected VfilterSingleObject(V featureVector)Normalize a single instance.protected elki.data.type.SimpleTypeInformation<? super V>getInputTypeRestriction()Get the input type restriction used for negotiating the data query.-
Methods inherited from class elki.datasource.filter.AbstractVectorStreamConversionFilter
initializeOutputType
-
Methods inherited from class elki.datasource.filter.AbstractStreamConversionFilter
data, getMeta, nextEvent
-
Methods inherited from class elki.datasource.filter.AbstractStreamFilter
asMultipleObjectsBundle, assignDBID, filter, hasDBIDs, init, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface elki.datasource.filter.normalization.Normalization
restore, transform
-
-
-
-
Field Detail
-
norm
elki.distance.Norm<? super V extends elki.data.NumberVector> norm
Norm to use.
-
map
it.unimi.dsi.fastutil.ints.Int2DoubleOpenHashMap map
Map used if converting sparse vectors.
-
-
Constructor Detail
-
LengthNormalization
public LengthNormalization(elki.distance.Norm<? super V> norm)
Constructor.- Parameters:
norm- Norm to use
-
-
Method Detail
-
filterSingleObject
protected V filterSingleObject(V featureVector)
Description copied from class:AbstractStreamConversionFilterNormalize a single instance. You can implement this as UnsupportedOperationException if you override both public "normalize" functions!- Specified by:
filterSingleObjectin classAbstractStreamConversionFilter<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:AbstractStreamConversionFilterGet the output type from the input type after conversion.- Specified by:
convertedTypein classAbstractStreamConversionFilter<V extends elki.data.NumberVector,V extends elki.data.NumberVector>- Parameters:
in- input type restriction- Returns:
- output type restriction
-
getInputTypeRestriction
protected elki.data.type.SimpleTypeInformation<? super V> getInputTypeRestriction()
Description copied from class:AbstractStreamConversionFilterGet the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestrictionin classAbstractStreamConversionFilter<V extends elki.data.NumberVector,V extends elki.data.NumberVector>- Returns:
- Type restriction
-
-