Java libraries for Recommendation system

Recommender systems or Collaborative filtering is the process of filtering for information using techniques involving collaboration among multiple agents. Applications of collaborative filtering typically involve very large data sets. Collaborative filtering methods have been applied to many different kinds of data where the focus is on user data.


Here is the list of Java libraries for building recommender systems.



LibRec is a Java library for recommender systems (Java version 1.7 or higher required). It implements a suit of state-of-the-art recommendation algorithms. It consists of three major components namely Generic Interfaces, Data Structures and Recommendation Algorithms. LibRec can be easily deployed and executed on any platform, including MS Windows, Linux and Mac OS.



The Duine Framework is a collection of software libraries that allows developers to create prediction engines for their own applications.



LensKit is an implementation of collaborative filtering algorithms and a set of tools for benchmarking them. For more information about LensKit and its documentation, visit the web site.



Recommender Systems Library for Java (RecSysLib) tries to provide a simple utility package for researchers in recommender systems. It is designed for research in a laboratory, not for business. Based on some interfaces like Predictor, Recommender, researchers can build and evaluate a recommender system rapidly. It provides the implantations of traditional collaborative filtering (CF), Probabilistic Matrix Factorization (PMF) and Latent Dirichlet Allocation (LDA).


Apache Mahout

Apache Mahout constitutes a Java framework in the data mining area. It has incorporated the Taste Recommender System, a collaborative engine for personalized recommendations.



With the open source recommendation engine easyrec you can add recommendations to your website within minutes. easyrec is a web application written in Java that provides personalized recommendations using RESTful Web Services ready to be integrated in your web enabled applications.