Your Choice

Context-Aware
Recommendation Solutions

Context-aware recommender systems (CARS) can be built to adapt the list of item recommendations to different context situations (e.g., time, location, companion, budget, weather, etc.). Users can receive the appropriate recommendations tailored by their preferences in specific contexts.

The CARSKit Library



The CARSKit library is an open-source and Java-based context-aware recommendation engine, where it can be used, modified and distributed under the terms of the GNU General Public License. CARSKit was built upon LibRec v1.3 and JDK 7. It is specifically designed for context-aware recommendations. It implements context-aware collaboative filtering (CF) algorithms based on traditional CF, e.g., user-based CF, matrix factorization, sparse linear methods, etc. The framework of CARSKit can be viewed as follows.


There are two categories of recommendation algorithms included in the CARSKit library:

  • Traditional recommendation algorithms: The implementations of those algorithms (such as UserKNN, BiasedMF, SVD++, SLIM, etc) are from LibRec V1.3. Those algorithms can be used in two ways: 1). run a traditional recommendation algorithm directly on the context-aware data set to compete with the context-aware recommendation algorithms; 2). run contextual recommendation algorithms based on transformation, e.g., run a traditional recommendation algorithm after data transformation (e.g., by item splitting).
  • Context-aware recommendation algorithms: CARSKit simply divides it into two categories: Transformation Algorithms and Adaptation Algorithms. The transformation algorithms try to convert the mulidimensional recommendation problem into traditional 2-dimensional problem, so that the traditional recommendation algorithms can still be used. In contrast to those algorithms based on transformation algorithms, the adaptation algorithms focus on their effect on building algorithms by adapting to the multidimensional rating space. Most of the algorithms inside belong to the contextual modeling algorithms, such as Context-aware Matrix Facatorization (CAMF), Tensor Factorization (TF), Contextual Sparse Linear Method (CSLIM), Factorization Machines (FM), etc.

List of useful resources:


If you used CARSKit, and found it useful, please cite the following work.



@inproceedings{zheng2015carskit,
  title={CARSKit: A Java-based context-aware recommendation engine},
  author={Zheng, Yong and Mobasher, Bamshad and Burke, Robin},
  booktitle={2015 IEEE International Conference on Data Mining Workshop},
  pages={1668--1671},
  year={2015},
  organization={IEEE}
}

some reasons

Why Choose Us

01

Open-Source Libraries

Codes available on the Github platform.

02

Training Modes

Support both hold-out and N-fold cross validations.

03

Context-Aware Evaluations

The top-N recommendations can be produced and evaluated for a user in a specific context situation.

04

Multiple Metrics

The libraries support multiple evaluations, e.g., MAE, RMSE, Precision, Recall, F1, NDCG, MAP, MRR, etc.

05

Unique for CARS

They were specifically designed for context-aware recommendations.

06

Popular Libraries

Several univiersities, research labs and companies utilized CARSKit and DeepCARSKit for research!

Reviews from our users

What People Say

University of Cyprus,
Nicosia, Cyprus

Research Lab

"CARSKit has been selected among other recommendation frameworks in the UbiCARS framework, due to the many efficient recommendation algorithms it offers, its ease
of use, and the flexibility with which it can
be fine-tuned to work with multi-dimensional data sets.
" [ref]

University of Salerno,
Fisciano, Italy

Research Lab

"CARSKit is freeware and developed through the Java programming language. It is also convenient to use, thanks to the presence of a user guide associated..." [ref]

RecSys Community

The "RS_c" platform

CARSKit is listed as one of the Recommender-System Software Libraries & APIs by "RS_c" which is the central platform for the RecSys community. [ref]

Find us on Github.

Go to Github