@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.
|
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.