@Shareable public class UserVectorSimilarity extends java.lang.Object implements UserSimilarity, java.io.Serializable
Implementation of UserSimilarity that delegates to a vector similarity.
| Constructor and Description |
|---|
UserVectorSimilarity(VectorSimilarity sim) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
isSparse()
Query whether this similarity is sparse.
|
boolean |
isSymmetric()
Query whether this similarity is symmetric.
|
double |
similarity(long u1,
Long2DoubleMap v1,
long u2,
Long2DoubleMap v2)
Compute the similarity between two users.
|
java.lang.String |
toString() |
@Inject public UserVectorSimilarity(VectorSimilarity sim)
public double similarity(long u1,
Long2DoubleMap v1,
long u2,
Long2DoubleMap v2)
UserSimilarityCompute the similarity between two users.
similarity in interface UserSimilarityu1 - The first user ID.v1 - The first user vector.u2 - The second user ID.v2 - The second user vector.public boolean isSparse()
UserSimilarityQuery whether this similarity is sparse.
isSparse in interface UserSimilaritytrue if the similarity function is sparse.VectorSimilarity.isSparse()public boolean isSymmetric()
UserSimilarityQuery whether this similarity is symmetric.
Warning: At present, asymmetric similarity functions may not produce correct results. In practice, this is not a problem, as most similarity functions are symmetric. Watch issue 151 for updates on this issue.
isSymmetric in interface UserSimilaritytrue if the similarity function is symmetric.VectorSimilarity.isSymmetric()public java.lang.String toString()
toString in class java.lang.Object