@DefaultImplementation(value=IdentityVectorNormalizer.class) public interface VectorNormalizer
Modifier and Type | Method and Description |
---|---|
VectorTransformation |
makeTransformation(SparseVector reference)
Create a vector transformation that normalizes and denormalizes vectors
with respect to the specified entity.
|
MutableSparseVector |
normalize(SparseVector reference,
MutableSparseVector target)
Normalize a vector in-place with a reference vector.
|
MutableSparseVector normalize(@Nonnull SparseVector reference, @Nullable MutableSparseVector target)
To understand the relationship of reference and vector, consider wanting to subtract the user's mean rating from a set of ratings. To do that, the user's rating vector is reference, and the vector of ratings to be adjusted is vector.
This method is equivalent to makeTransformation(reference).apply(target)
.
reference
- The reference used to compute whatever transformation is
needed (e.g. the mean value).target
- The vector to normalize. If null
, a new mutable
copy of reference is created.null
.VectorTransformation makeTransformation(SparseVector reference)
If the reference vector is empty, the returned transformation should be the identity transform. Results are undefined if the reference vector is not complete or contains NaN values.
If the normalization needs to retain a copy of the sparse vector, it will take an immutable copy.
reference
- The reference vector.