org.apache.mahout.cf.taste.example.netflix
Class NetflixDataModel

java.lang.Object
  extended by org.apache.mahout.cf.taste.example.netflix.NetflixDataModel
All Implemented Interfaces:
Refreshable, DataModel

public final class NetflixDataModel
extends java.lang.Object
implements DataModel

This is a DataModel that reads the Netflix data set, as represented in its unpacked file structure. Note that unpacking the distribution entails untarring the main archive, then untarring the archive of training set data files.


Constructor Summary
NetflixDataModel(java.io.File dataDirectory, boolean useSubset)
           
 
Method Summary
 LongPrimitiveIterator getItemIDs()
           
 FastIDSet getItemIDsFromUser(long userID)
           
 int getNumItems()
           
 int getNumUsers()
           
 int getNumUsersWithPreferenceFor(long... itemIDs)
           
 PreferenceArray getPreferencesForItem(long itemID)
           
 PreferenceArray getPreferencesFromUser(long id)
           
 java.lang.Float getPreferenceValue(long userID, long itemID)
           
 LongPrimitiveIterator getUserIDs()
           
 boolean hasPreferenceValues()
           
 void refresh(java.util.Collection<Refreshable> alreadyRefreshed)
           
 void removePreference(long userID, long itemID)
           
 void setPreference(long userID, long itemID, float value)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NetflixDataModel

public NetflixDataModel(java.io.File dataDirectory,
                        boolean useSubset)
                 throws java.io.IOException
Parameters:
dataDirectory - root directory of Netflix data set, unpacked
useSubset - if true, will use only a small fraction of the data -- may be useful for quick experiments
Throws:
java.io.IOException
Method Detail

getUserIDs

public LongPrimitiveIterator getUserIDs()
                                 throws TasteException
Specified by:
getUserIDs in interface DataModel
Throws:
TasteException

getPreferencesFromUser

public PreferenceArray getPreferencesFromUser(long id)
                                       throws TasteException
Specified by:
getPreferencesFromUser in interface DataModel
Throws:
TasteException

getItemIDsFromUser

public FastIDSet getItemIDsFromUser(long userID)
                             throws TasteException
Specified by:
getItemIDsFromUser in interface DataModel
Throws:
TasteException

getItemIDs

public LongPrimitiveIterator getItemIDs()
                                 throws TasteException
Specified by:
getItemIDs in interface DataModel
Throws:
TasteException

getPreferencesForItem

public PreferenceArray getPreferencesForItem(long itemID)
                                      throws TasteException
Specified by:
getPreferencesForItem in interface DataModel
Throws:
TasteException

getPreferenceValue

public java.lang.Float getPreferenceValue(long userID,
                                          long itemID)
                                   throws TasteException
Specified by:
getPreferenceValue in interface DataModel
Throws:
TasteException

getNumItems

public int getNumItems()
                throws TasteException
Specified by:
getNumItems in interface DataModel
Throws:
TasteException

getNumUsers

public int getNumUsers()
                throws TasteException
Specified by:
getNumUsers in interface DataModel
Throws:
TasteException

getNumUsersWithPreferenceFor

public int getNumUsersWithPreferenceFor(long... itemIDs)
                                 throws TasteException
Specified by:
getNumUsersWithPreferenceFor in interface DataModel
Throws:
TasteException

setPreference

public void setPreference(long userID,
                          long itemID,
                          float value)
Specified by:
setPreference in interface DataModel

removePreference

public void removePreference(long userID,
                             long itemID)
Specified by:
removePreference in interface DataModel

refresh

public void refresh(java.util.Collection<Refreshable> alreadyRefreshed)
Specified by:
refresh in interface Refreshable

hasPreferenceValues

public boolean hasPreferenceValues()
Specified by:
hasPreferenceValues in interface DataModel

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2008-2010 The Apache Software Foundation. All Rights Reserved.