List of usage examples for org.apache.mahout.cf.taste.recommender UserBasedRecommender recommend
List<RecommendedItem> recommend(long userID, int howMany) throws TasteException;
From source file:com.checkup.mahout.test.ExampleTest.java
@Test public void quickstart() throws IOException, TasteException { DataModel model = new FileDataModel(new File(Resources.quickstart_csv.getFile())); UserSimilarity similarity = new PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); List<RecommendedItem> recommendations = recommender.recommend(2, 3); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); }//w w w. java 2 s . co m }
From source file:com.mycompany.mahoutrecco.App.java
public static void main(String[] args) throws Exception { DataModel model = new FileDataModel(new File("data/justBeforeMahout.csv")); UserSimilarity similarity = new PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); List<RecommendedItem> recommendations = recommender.recommend(503046, 5); System.out.println(recommendations); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); }//from ww w . j av a 2 s.c o m }
From source file:com.mycompany.mavenproject1.Recommendor.java
public static void main(String[] args) throws Exception { DataModel model = new FileDataModel(new File("src/Data/data.csv")); UserSimilarity similarity = new PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood = new ThresholdUserNeighborhood(2, similarity, model); UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); List<RecommendedItem> recommendations = recommender.recommend(1, 1); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); }/*from w w w . j a v a 2s . c om*/ }
From source file:final_mahout.Final_Mahout.java
/** * @param args the command line arguments *///from w w w .j a va2s. c om public static void main(String[] args) throws TasteException, IOException { DataModel model = new FileDataModel(new File("/Users/wendyzhuo/Desktop/data3.csv")); //Computer the similarity between users,according to their preference UserSimilarity similarity = new EuclideanDistanceSimilarity(model); //Group the users with similar preference UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.2, similarity, model); //Create a recommender UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); //For the user with the id 1 get two recommendations List<RecommendedItem> recommendations = recommender.recommend(1, 2); for (RecommendedItem recommendation : recommendations) { System.out.println("they should not take id: " + recommendation.getItemID() + "(predicted preference:" + recommendation.getValue() + ")"); } // TODO code application logic here }
From source file:fr.paris.lutece.plugins.recommendation.service.RecommendationService.java
License:Open Source License
/** * Provides a list of recommended items for a given user based on a recommender * @param strRecommender The recommender name * @param lUserID The User's ID/* w w w . j a va 2 s . co m*/ * @param nCount The number of recommendation whished * @return The list of recommended items */ public List<RecommendedItem> getRecommendations(String strRecommender, long lUserID, int nCount) { UserBasedRecommender recommender = _mapRecommenders.get(strRecommender); if (recommender != null) { try { return recommender.recommend(lUserID, nCount); } catch (TasteException ex) { AppLogService.error("Error getting recommendation : " + ex.getMessage(), ex); } } return LIST_NO_RECOMMENDATION; }
From source file:org.eclipse.agail.recommenderserver.collaborative.CollaborativeFiltering.java
License:Open Source License
private void applyCollaborativeFiltering(GatewayProfile profile) { int userID = addNewItemsandUser(profile); System.out.println("userID: " + userID); try {//w ww . ja va2 s. c o m // load the data from the file with format "userID,itemID,value" DataModel model = new FileDataModel(new File(userProfilesFile)); // compute the correlation coefficient between their interactions //UserSimilarity similarity = new PearsonCorrelationSimilarity(model); UserSimilarity similarity = new EuclideanDistanceSimilarity(model); // we'll use all that have a similarity greater than 0.1 UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); //UserNeighborhood neighborhood = new NearestNUserNeighborhood(3, similarity, model); // all the pieces to create our recommender UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); // get 10 items recommended for the user with userID recommendations = recommender.recommend(userID, 10); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); String item = getItem(recommendation.getItemID()); if (item.split(",")[0].contains("App")) { apps.getAppList().add(new App("App", item.split(",")[1], 0, 0)); } else if (item.split(",")[0].contains("Device")) { devs.getDeviceList().add(new Device("Device", item.split(",")[1])); } else if (item.split(",")[0].contains("Workflow")) { wfs.getWfList().add(new Workflow("Workflow", "Workflow", "Workflow", item.split(",")[1])); } else if (item.split(",")[0].contains("Cloud")) { clouds.getCloudList().add(new Cloud("Cloud", item.split(",")[1], "", "", "", "", "", "", "")); } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:org.eclipse.agail.recommenderserver.Test.java
License:Open Source License
public static void testCollaborativeFiltering() { System.out.println("testCollaborativeFiltering"); try {/*from w ww .j a v a 2 s . c om*/ // load the data from the file with format "userID,itemID,value" DataModel model = new FileDataModel(new File(testFile2)); // compute the correlation coefficient between their interactions UserSimilarity similarity = new EuclideanDistanceSimilarity(model); double similar = similarity.userSimilarity(1, 2); System.out.println(similar); // we'll use all that have a similarity greater than 0.1 UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); // all the pieces to create our recommender UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); // get three items recommended for the user with userID 2 List<RecommendedItem> recommendations = recommender.recommend(2, 10); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:smartcityrecommender.Recommender.java
License:Open Source License
public static void recommend1() { try {//from www . jav a2s. c o m // load the data from the file DataModel model = new FileDataModel(new File("C:\\Users\\cenni\\Downloads\\dataset.csv")); // JDBC data model /*MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setServerName("my_database_host"); dataSource.setUser("my_user"); dataSource.setPassword("my_password"); dataSource.setDatabaseName("my_database_name"); JDBCDataModel model = new MySQLJDBCDataModel( dataSource, "my_prefs_table", "my_user_column", "my_item_column", "my_pref_value_column", "my_timestamp_column");*/ // compute the correlation coefficient between their interactions UserSimilarity similarity = new PearsonCorrelationSimilarity(model); // define which similar users we want to leverage for the recommender; use all that have a similarity greater than 0.1 UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); // create the recommender UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); List recommendations = recommender.recommend(2, 3); // print the recommendations recommendations.stream().forEach((recommendation) -> { System.out.println(recommendation); }); } catch (TasteException | IOException ex) { Logger.getLogger(Recommender.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:StudyResults.Test.java
/** * Basic Taste example of use/* ww w . ja va 2 s . c o m*/ * @throws IOException * @throws TasteException */ private static void BasicRecommendation() throws IOException, TasteException { DataModel model = new FileDataModel( new File("Ressources/FeatureSearch/Input/featureSearchCase2_Most_1_Least_0_Maj_0.csv")); UserSimilarity similarity = new PearsonCorrelationSimilarity(model); UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity); List<RecommendedItem> recommendations = recommender.recommend(2, 3); for (RecommendedItem recommendation : recommendations) { System.out.println(recommendation); } }
From source file:user.based.recommendation.PearsonCorrelation.java
private void cmboboxUserItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cmboboxUserItemStateChanged // TODO add your handling code here: try {/*from www . j a v a2s. c om*/ DataModel model = new FileDataModel(new File("userPreference.csv")); UserSimilarity similarity = new PearsonCorrelationSimilarity(model); //UserSimilarity similarity1 = new SpearmanCorrelationSimilarity(model); UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model); //UserNeighborhood neighborhood1 = new ThresholdUserNeighborhood(0.1, similarity1, model); UserBasedRecommender recommender = new GenericBooleanPrefUserBasedRecommender(model, neighborhood, similarity); UserBasedRecommender recommender1 = new GenericUserBasedRecommender(model, neighborhood, similarity); List<RecommendedItem> recommendations = recommender .recommend(Integer.parseInt(cmboboxUser.getSelectedItem().toString()), 3); List<RecommendedItem> recommendations1 = recommender1 .recommend(Integer.parseInt(cmboboxUser.getSelectedItem().toString()), 3); System.out.println("Recommendation length: " + recommendations.size()); result = new ArrayList<>(); for (RecommendedItem item : recommendations) { System.out.println( table.get(Integer.parseInt(Long.toString(item.getItemID()))) + " : " + item.getValue()); result.add(table.get(Integer.parseInt(Long.toString(item.getItemID()))) + " : " + item.getValue()); } System.out.println("Boolean recommendation: "); for (RecommendedItem item : recommendations1) { // System.out.println(table.get(Integer.parseInt(Long.toString(item.getItemID()))) + " : " + item.getValue()); // result.add(table.get(Integer.parseInt(Long.toString(item.getItemID()))) + " : " + item.getValue()); } lstRecommendedItems.setListData(result.toArray()); } catch (IOException | TasteException | NumberFormatException ex) { System.out.println("Here is the exception: " + ex.getMessage()); } }