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 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:
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} }
Codes available on the Github platform.
Support both hold-out and N-fold cross validations.
The top-N recommendations can be produced and evaluated for a user in a specific context situation.
The libraries support multiple evaluations, e.g., MAE, RMSE, Precision, Recall, F1, NDCG, MAP, MRR, etc.
They were specifically designed for context-aware recommendations.
Several univiersities, research labs and companies utilized CARSKit and DeepCARSKit for research!
"CARSKit has been selected among other recommendation frameworks in the UbiCARS framework, due to the many efficient recommendation algorithms it offers, its easeof use, and the flexibility with which it canbe fine-tuned to work with multi-dimensional data sets." [ref]
"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]
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.