All Projects → tinylcy → RecommendationEngine

tinylcy / RecommendationEngine

Licence: MIT license
Source code and dataset for paper "CBMR: An optimized MapReduce for item‐based collaborative filtering recommendation algorithm with empirical analysis"

Programming Languages

java
68154 projects - #9 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to RecommendationEngine

Movie Recommendation Engine
Movie Recommender based on the MovieLens Dataset (ml-100k) using item-item collaborative filtering.
Stars: ✭ 21 (-51.16%)
Mutual labels:  collaborative-filtering, recommendation-engine
raptor
A lightweight product recommendation system (Item Based Collaborative Filtering) developed in Haskell.
Stars: ✭ 34 (-20.93%)
Mutual labels:  collaborative-filtering, recommendation-engine
recommender system with Python
recommender system tutorial with Python
Stars: ✭ 106 (+146.51%)
Mutual labels:  collaborative-filtering, recommendation-engine
recommender
NReco Recommender is a .NET port of Apache Mahout CF java engine (standalone, non-Hadoop version)
Stars: ✭ 35 (-18.6%)
Mutual labels:  collaborative-filtering, recommendation-engine
Cornac
A Comparative Framework for Multimodal Recommender Systems
Stars: ✭ 308 (+616.28%)
Mutual labels:  collaborative-filtering, recommendation-engine
Deeprecommender
Deep learning for recommender systems
Stars: ✭ 1,593 (+3604.65%)
Mutual labels:  collaborative-filtering, recommendation-engine
Movie Recommender System
Basic Movie Recommendation Web Application using user-item collaborative filtering.
Stars: ✭ 85 (+97.67%)
Mutual labels:  collaborative-filtering, recommendation-engine
Recommender
A C library for product recommendations/suggestions using collaborative filtering (CF)
Stars: ✭ 238 (+453.49%)
Mutual labels:  collaborative-filtering, recommendation-engine
Shifu
An end-to-end machine learning and data mining framework on Hadoop
Stars: ✭ 207 (+381.4%)
Mutual labels:  hadoop
docker-hadoop
Docker image for main Apache Hadoop components (Yarn/Hdfs)
Stars: ✭ 59 (+37.21%)
Mutual labels:  hadoop
Recommendsys
推荐项目(实时推荐和离线推荐)
Stars: ✭ 198 (+360.47%)
Mutual labels:  hadoop
Facebook Hive Udfs
Facebook's Hive UDFs
Stars: ✭ 213 (+395.35%)
Mutual labels:  hadoop
bigdatatutorial
bigdatatutorial
Stars: ✭ 34 (-20.93%)
Mutual labels:  hadoop
Javaorbigdata Interview
Java开发者或者大数据开发者面试知识点整理
Stars: ✭ 203 (+372.09%)
Mutual labels:  hadoop
phoenix
Apache Phoenix / Hbase Spring Boot Microservices
Stars: ✭ 23 (-46.51%)
Mutual labels:  hadoop
Awesome Learning
实践源码库:https://github.com/jast90/bigdata 。 微信搜索Jast关注公众号,获取最新技术分享😯。
Stars: ✭ 197 (+358.14%)
Mutual labels:  hadoop
Nutch
Apache Nutch is an extensible and scalable web crawler
Stars: ✭ 2,277 (+5195.35%)
Mutual labels:  hadoop
ambari-hdp-docker
Dockerfiles and Docker Compose for HDP 2.6 with Blueprints
Stars: ✭ 23 (-46.51%)
Mutual labels:  hadoop
slopeone
PHP implementation of the Weighted Slope One rating-based collaborative filtering scheme.
Stars: ✭ 85 (+97.67%)
Mutual labels:  collaborative-filtering
Hadoop Attack Library
A collection of pentest tools and resources targeting Hadoop environments
Stars: ✭ 228 (+430.23%)
Mutual labels:  hadoop

RecommendationEngine

The key of Recommendation Engine is an efficient and scalable implementation of item-based collaborative filtering (CF) recommendation algorithm based on Hadoop.

Purpose

Item-based CF algorithm has become one of the most popular algorithms in recommendation systems. However, the item-based CF algorithm has been traditionally run in stand-alone mode and can be hindered by some hardware constraints, such as memory and computational limitations. Besides, in recent years recommendation systems are usually required to process large volumes of information with high dimensions, which poses some key challenges to provide recommendations quickly. So despite some excellent algorithms like item based CF running well in stand-alone mode, there is an impracticality in the condition of huge amount of users and items. This is the scalability problem and whether it can be solved properly determines the further development of recommendation systems.

Algorithms

The similarity between items is integrated with empirical analysis.

image

Once the similarity between items have been calculated, the next step is computing the predicted rating of user u to item j , which is represented as follows.

image

Run

nohup hadoop jar RecommendationEngine.jar -filename <filename> -reducer <reducer> -n <n> -m <m> -p <p> -q <q> -r <r> 
-host <host> -path <path> -mode <mode> >logfile 2>&1 &
  • filename : input file
  • reducer : the number of reducer.
  • n : the number of items
  • m : the number of users
  • p : matrix block size
  • q : matrix block size
  • r : matrix block size
  • host : JobTracker & NameNode host
  • path : HDFS path
  • mode : the mode of matrix multiplication

Environments

  • Ubuntu 14.04 (or other Linux distributions)
  • JDK 7
  • Hadoop 1.2.1 (RecommendationEngine utilizes DistributedCache to distribute the smaller files to nodes in cluster and caching them)
  • Sqoop (I have used Sqoop in cron, you can ignore it.)

Contact me

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].