Example usage for org.apache.mahout.cf.taste.model PreferenceArray clone

List of usage examples for org.apache.mahout.cf.taste.model PreferenceArray clone

Introduction

In this page you can find the example usage for org.apache.mahout.cf.taste.model PreferenceArray clone.

Prototype

PreferenceArray clone();

Source Link

Usage

From source file:com.mykidscart.mahout_service.RecommenderServlet.java

License:Apache License

private void writeDebugRecommendations(long userID, Iterable<RecommendedItem> items, PrintWriter writer)
        throws TasteException {
    DataModel dataModel = recommender.getDataModel();
    writer.print("User:");
    writer.println(userID);//  w  w  w . j  a  v a 2  s.co m
    writer.print("Recommender: ");
    writer.println(recommender);
    writer.println();
    writer.print("Top ");
    writer.print(NUM_TOP_PREFERENCES);
    writer.println(" Preferences:");
    PreferenceArray rawPrefs = dataModel.getPreferencesFromUser(userID);
    int length = rawPrefs.length();
    PreferenceArray sortedPrefs = rawPrefs.clone();
    sortedPrefs.sortByValueReversed();
    // Cap this at NUM_TOP_PREFERENCES just to be brief
    int max = Math.min(NUM_TOP_PREFERENCES, length);
    for (int i = 0; i < max; i++) {
        Preference pref = sortedPrefs.get(i);
        writer.print(pref.getValue());
        writer.print('\t');
        writer.println(pref.getItemID());
    }
    writer.println();
    writer.println("Recommendations:");
    for (RecommendedItem recommendedItem : items) {
        writer.print(recommendedItem.getValue());
        writer.print('\t');
        writer.println(recommendedItem.getItemID());
    }
}