public final class SpearmanCorrelationSimilarity extends Object implements UserSimilarity
Like PearsonCorrelationSimilarity, but compares relative ranking of preference values instead of
preference values themselves. That is, each user's preferences are sorted and then assign a rank as their
preference value, with 1 being assigned to the least preferred item.
| Constructor and Description |
|---|
SpearmanCorrelationSimilarity(DataModel dataModel) |
| Modifier and Type | Method and Description |
|---|---|
void |
refresh(Collection<Refreshable> alreadyRefreshed)
Triggers "refresh" -- whatever that means -- of the implementation.
|
void |
setPreferenceInferrer(PreferenceInferrer inferrer)
Attaches a
PreferenceInferrer to the UserSimilarity implementation. |
double |
userSimilarity(long userID1,
long userID2)
Returns the degree of similarity, of two users, based on the their preferences.
|
public SpearmanCorrelationSimilarity(DataModel dataModel)
public double userSimilarity(long userID1,
long userID2)
throws TasteException
UserSimilarityReturns the degree of similarity, of two users, based on the their preferences.
userSimilarity in interface UserSimilarityuserID1 - first user IDuserID2 - second user IDDouble.NaN similarity is unknownNoSuchUserException - if either user is known to be non-existent in the dataTasteException - if an error occurs while accessing the datapublic void setPreferenceInferrer(PreferenceInferrer inferrer)
UserSimilarity
Attaches a PreferenceInferrer to the UserSimilarity implementation.
setPreferenceInferrer in interface UserSimilarityinferrer - PreferenceInferrerpublic void refresh(Collection<Refreshable> alreadyRefreshed)
Refreshable
Triggers "refresh" -- whatever that means -- of the implementation. The general contract is that any
Refreshable should always leave itself in a consistent, operational state, and that the refresh
atomically updates internal state from old to new.
refresh in interface RefreshablealreadyRefreshed - Refreshables that are known to have already been
refreshed as a result of an initial call to a {#refresh(Collection)} method on some
object. This ensure that objects in a refresh dependency graph aren't refreshed twice
needlessly.Copyright © 2008–2017 The Apache Software Foundation. All rights reserved.