Giter Club home page Giter Club logo

movielens-recommender-system's Introduction

Personalization:Final Project

Team members:

Project Goal

The overall goal of this project is to build a improved version of the recommendation system in HW2, which recommends users the movies they potentially would like, by utilizing a hybrid architecture design. In this version, the recommendation systems switches the prediction model based on the user rating history. Based on the advantages each model, the system coud generate the customized best results for user. In this way, we can maintain a relatively active user population and keep promoting newly released movies to the right target audience.

The data used in this project are from the full version of MovieLens Latest Dataset, which was last updated 9/2018. While the dataset included 27,000,000 ratings and 1,100,000 tag applications applied to 58,000 movies by 280,000 users, we only used the ratings table and kept about 20,000 users and 1,000 items for calculation due to the limitation of computation power.

File Structure

Our submission includes exported Google Collab notebook files (splitted due to extended running time) and intermediate files, as specified below:

Project Folder:

│   README.md
│   requirements.txt

# Notebook Files

│   Hybrid Model.ipynb
│   DataPreparation.ipynb
│   ContentBased.ipynb
│   DL.ipynb
│   MF.ipynb

# Python Model Modules (models saved in python for easy import)

│   dlModel.py
│   contentBased.py
│   modelBased.py

# Preprocessed Data (created by DataPreparation.ipynb)
│   train.csv
│   test_for_dp.csv
│   test_for_content.csv
│   test_for_mf.csv

# Cache Data (test results pre-saved for faster evaluation)

│   DL_recommend_df.csv
│   MFRecommendation.csv
│   content_based_recommend_df.csv
│   cb_evaluation_df.csv
│   mb_evaluation_df.csv
│   hybrid_evaluation_df.csv
│   dl_evaluation_df.csv

Report Structure

The main report, including business objectives, model description, model comparison, and final conclusion, can be found in the Hybrid Model.ipynb file. Data preparation and sampling can be found in DataPreparation.ipynb. Single Model explanatoin and tuning can be found in notesbooks named by the models (ContentBased.ipynb, DL.ipynb, MF.ipynb).

For the ease of rebuilding the environment we used, we also included Notebook links below:

movielens-recommender-system's People

Contributors

yifeizhangcs 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.