|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.mahout.cf.taste.impl.similarity.file.FileItemSimilarity
public class FileItemSimilarity
An ItemSimilarity backed by a comma-delimited file. This class typically expects a file where each line
contains an item ID, followed by another item ID, followed by a similarity value, separated by commas. You may also
use tabs.
The similarity value is assumed to be parseable as a double having a value between -1 and 1. The
item IDs are parsed as longs. Similarities are symmetric so for a pair of items you do not have to
include 2 lines in the file.
This class will reload data from the data file when refresh(Collection) is called, unless the file
has been reloaded very recently already.
This class is not intended for use with very large amounts of data. For that, a JDBC-backed ItemSimilarity
and a database are more appropriate.
| Field Summary | |
|---|---|
static long |
DEFAULT_MIN_RELOAD_INTERVAL_MS
|
| Constructor Summary | |
|---|---|
FileItemSimilarity(File dataFile)
|
|
FileItemSimilarity(File dataFile,
long minReloadIntervalMS)
|
|
| Method Summary | |
|---|---|
long[] |
allSimilarItemIDs(long itemID)
|
double[] |
itemSimilarities(long itemID1,
long[] itemID2s)
A bulk-get version of ItemSimilarity.itemSimilarity(long, long). |
double |
itemSimilarity(long itemID1,
long itemID2)
Returns the degree of similarity, of two items, based on the preferences that users have expressed for the items. |
void |
refresh(Collection<Refreshable> alreadyRefreshed)
Triggers "refresh" -- whatever that means -- of the implementation. |
protected void |
reload()
|
String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final long DEFAULT_MIN_RELOAD_INTERVAL_MS
| Constructor Detail |
|---|
public FileItemSimilarity(File dataFile)
dataFile - file containing the similarity data
public FileItemSimilarity(File dataFile,
long minReloadIntervalMS)
minReloadIntervalMS - the minimum interval in milliseconds after which a full reload of the original datafile is done
when refresh() is calledFileItemSimilarity(File)| Method Detail |
|---|
public double[] itemSimilarities(long itemID1,
long[] itemID2s)
throws TasteException
ItemSimilarityA bulk-get version of ItemSimilarity.itemSimilarity(long, long).
itemSimilarities in interface ItemSimilarityitemID1 - first item IDitemID2s - second item IDs to compute similarity with
NoSuchItemException - if any item is known to be non-existent in the data
TasteException - if an error occurs while accessing the data
public long[] allSimilarItemIDs(long itemID)
throws TasteException
allSimilarItemIDs in interface ItemSimilarityTasteException
public double itemSimilarity(long itemID1,
long itemID2)
throws TasteException
ItemSimilarityReturns the degree of similarity, of two items, based on the preferences that users have expressed for the items.
itemSimilarity in interface ItemSimilarityitemID1 - first item IDitemID2 - second item ID
Double.NaN similarity is unknown
NoSuchItemException - if either item is known to be non-existent in the data
TasteException - if an error occurs while accessing the datapublic 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 Refreshable.refresh(Collection) method on some
object. This ensure that objects in a refresh dependency graph aren't refreshed twice
needlessly.protected void reload()
public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||