Giter VIP home page Giter VIP logo

dash-board's Introduction

Recommendation System Dashboard

This application creates a web dashboard that could be used to generate movie recommendations for groups. It also allows you to tune your own recommendation model selecting it's hyperparameters.

Video in Spanish showing the application

Video

Requirements

This application uses python 3, pip and you need to install the dependencies inside file requiremetns.txt

How to run this application

  1. Install all application requirements using pip(you need to have pip installed in your computer)
    pip install -r requirements.txt
  2. Get into the src folder and run the app using python
    python3 -m src.app 

After starting the app, a web dashboard should be available at http://127.0.0.1:8050/. That web page shows basic data insights on the root page and if you go to the url http://127.0.0.1:8050/recommendations, you can train a recommendation model selecting his hyper-parameters.

Once the model is trained, you can select a group of users from the the table that is located under the model hyper-parameters. Another table will show selected users performed ratings. Once you are done creating a group, you can click on the button GET RECOMMENDATIONS FOR USERS to generate group recommendations, which will be loaded into another table at the end of the page

Data Used

This aplication uses movielens dataset and it is located under the folder data, that contains the following files:

  • movies.csv: contains 193609 different movies with the feilds movie id, title and genre for all available movies
  • ratings.csv: contains 100836 ratings performed by users and each rating contains the user id, timestamp and rating performed by each user to a movie

Matrix Factorization Algorithm

Matrix factorization is performed using a self made implementation of the SVD++ algorithm, wich is used to perform matrix factorization on the ratings matrix. Implementation can be found on the train method of the file src/services/SGD.py

How group recommendations are performed

Group recommendation are obtained using the method/criteria Least Misery Criteria over the individual recommendation of each user inside a group. Impementation is available on the method obtain_group_recommendations inside the file src/services/SGD.py

More Details

More details about the recommendation process and used data can be found inside this google colaboratory notebook. You can read an offline rendered version of that notebook on one of the following files:

dash-board's People

Contributors

diegoreico avatar

Watchers

James Cloos avatar  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.