Code Monkey home page Code Monkey logo

ghrs's Introduction

GHRS: Graph-based hybrid recommendation system

PWC PWC

"This repo is being updated. Please Watch the repo for upcomming updates and codes"

Partial implementation for : GHRS: Graph-based hybrid recommendation system with application to movie recommendation [pre-print on arXiv]

Summary

GHRS is a Graph-based hybrid recommendation system for movie recommendation

Research about recommender systems emerges over the last decade and comprises valuable services to increase different companies' revenue. Several approaches exist in handling paper recommender systems. While most existing recommender systems rely either on a content-based approach or a collaborative approach, there are hybrid approaches that can improve recommendation accuracy using a combination of both approaches. Even though many algorithms are proposed using such methods, it is still necessary for further improvement. In this paper, we propose a recommender system method using a graph-based model associated with the similarity of users' ratings, in combination with users' demographic and location information. By utilizing the advantages of Autoencoder feature extraction, we extract new features based on all combined attributes. Using the new set of features for clustering users, our proposed approach (GHRS) has gained a significant improvement, which dominates other methods' performance in the cold-start problem. The experimental results on the MovieLens dataset show that the proposed algorithm outperforms many existing recommendation algorithms on recommendation accuracy. [1]

The framework of the proposed recommendation system. The method encodes the combined features with autoencoder and creates the model by clustering the users using the encoded features (upper part). At last, a preference-based ranking model is used to retrieve the predicted movie rank for the target user (lower part)

The framework of the proposed recommendation system. The method encodes the combined features with autoencoder and creates the model by clustering the users using the encoded features (upper part). At last, a preference-based ranking model is used to retrieve the predicted movie rank for the target user (lower part)

Required Libraries

  • ScikitLearn
  • Tensorflow
  • Keras
  • Networkx

Scripts

Feature100K.py: Creates similarity graph between users, extracts graph features and generates the final feature vector by combining the graph features and categorized side information for users (Steps 1, 2 and 3 of GHRS) on dataset MovieLens 100K [2].

Feature1M.py: Creates similarity graph between users, extracts graph features and generates the final feature vector by combining the graph features and categorized side information for users (Steps 1, 2 and 3 of GHRS) on dataset MovieLens 1M [2].

Data

 |-datasets
 | |-ml-100k	# MovieLens 100K dataset files
 | |-ml-1m		# MovieLens 1M dataset files
 |-data100k		# Combined features (graph features and side information) for specific value of alpha for dataset MovieLens 100K
 | |-x_train_alpha(0.005).pkl
 | |-x_train_alpha(0.01).pkl
 | |...
 |-data1m		# Combined features (graph features and side information) for specific value of alpha for dataset MovieLens 1M
 | |-x_train_alpha(0.005).pkl
 | |-x_train_alpha(0.01).pkl
 | |...
 | ...

Citation

If you find this research interesting or this repo useful, please cite the main article:

@article{darban2022ghrs,
  title={GHRS: Graph-based hybrid recommendation system with application to movie recommendation},
  author={Darban, Zahra Zamanzadeh and Valipour, Mohammad Hadi},
  journal={Expert Systems with Applications},
  pages={116850},
  year={2022},
  publisher={Elsevier}
}

References

[1] Darban, Z. Z., & Valipour, M. H. (2022). GHRS: Graph-based hybrid recommendation system with application to movie recommendation. Expert Systems with Applications, 116850.

[2] Harper, F. M., & Konstan, J. A. (2015). The movielens datasets: History and context. Acm transactions on interactive intelligent systems (tiis), 5(4), 1-19.

ghrs's People

Contributors

hadoov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ghrs's Issues

code

Is there a complete code implementation? Thank you so much

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.