Coder Social home page Coder Social logo

yelp-recommendation-system's Introduction

Yelp Recommendation System

This repository consists of the scripts required to train and predict the ratings that a user might provide for any new business on Yelp. The training script train.py provides the user with the option of training the Yelp data on three different model options (User based Collaborative Filtering, Alternating Least Squares method using the Scikit-surprise library, and XGBoost) and the performance of these models are evaluated using the prediction script predict.py The Usage examples are provided below for reference.

Apache Spark is used for the Big data processing. The code runs with the assumption that Apache Spark is pre-installed.

Usage:

Step 1: Download the required packages:

$ python3 -m pip install -r requirements.txt

Step 2: To download the training data and extract the models:

$ bash download_data.sh

Step 3: To train the models on previously constructed datasets:

$ spark-submit train.py -tr <Training file path.json> -ts <Test file path.json> -o <output trained model file path.model> -m <Training method [user_based_cf, surprise, xgboost]>

Step 4: To compute the predictions and calculate the RMSE of the predicted models:

$ spark-submit predict.py -tr <Training file path.json> -ts <Test file path.json> -md <trained model file path.model> -o <output prediction file path> -m <Training method [user_based_cf, surprise, xgboost]>

yelp-recommendation-system's People

Contributors

shyam31896 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.