@DefaultImplementation(value=DefaultUserVectorNormalizer.class) public interface UserVectorNormalizer
Normalize a user’s vector. This vector is typically a rating or purchase vector.
This interface is essentially a user-aware version of VectorNormalizer
. The default implementation, DefaultUserVectorNormalizer
, delegates to a VectorNormalizer
. Implement this interface directly to create a normalizer that is aware of the fact that it is normalizing a user and e.g. uses user properties outside the vector to aid in the normalization. Otherwise, use a context-sensitive binding of VectorNormalizer
to configure the user vector normalizer:
factory.in(UserVectorNormalizer.class)
.bind(VectorNormalizer.class)
.to(MeanVarianceNormalizer.class);
VectorNormalizer
Modifier and Type | Method and Description |
---|---|
InvertibleFunction<Long2DoubleMap,Long2DoubleMap> |
makeTransformation(long user,
Long2DoubleMap vector)
Make a vector transformation for a user.
|
VectorTransformation |
makeTransformation(long user,
SparseVector vector)
Deprecated.
|
MutableSparseVector |
normalize(long user,
SparseVector vector,
MutableSparseVector target)
Deprecated.
Old vectors are going away.
|
@Deprecated MutableSparseVector normalize(long user, @Nonnull SparseVector vector, @Nullable MutableSparseVector target)
Normalize a vector with respect to a user vector.
user
- The user to normalize a vector for.vector
- The user’s vector for reference.target
- The vector to normalize. If null
, the user vector is normalized.target
vector, if specified. Otherwise, a fresh mutable vector containing a normalized copy of the user vector is returned.@Deprecated VectorTransformation makeTransformation(long user, SparseVector vector)
makeTransformation(long, Long2DoubleMap)
.Make a vector transformation for a user. The resulting transformation will be applied to user vectors to normalize and denormalize them.
user
- The user ID to normalize for.vector
- The user’s vector to use as the reference vector.InvertibleFunction<Long2DoubleMap,Long2DoubleMap> makeTransformation(long user, Long2DoubleMap vector)
Make a vector transformation for a user. The resulting transformation will be applied to user vectors to normalize and denormalize them.
user
- The user ID to normalize for.vector
- The user’s vector to use as the reference vector.