All Projects → artem-oppermann → Deep Autoencoders For Collaborative Filtering

artem-oppermann / Deep Autoencoders For Collaborative Filtering

Licence: apache-2.0
Using Deep Autoencoders for predictions of movie ratings.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deep Autoencoders For Collaborative Filtering

Recoder
Large scale training of factorization models for Collaborative Filtering with PyTorch
Stars: ✭ 46 (-54.46%)
Mutual labels:  autoencoder, collaborative-filtering
Neurec
Next RecSys Library
Stars: ✭ 731 (+623.76%)
Mutual labels:  autoencoder, collaborative-filtering
Rectorch
rectorch is a pytorch-based framework for state-of-the-art top-N recommendation
Stars: ✭ 121 (+19.8%)
Mutual labels:  autoencoder, collaborative-filtering
Collaborative Deep Learning For Recommender Systems
The hybrid model combining stacked denoising autoencoder with matrix factorization is applied, to predict the customer purchase behavior in the future month according to the purchase history and user information in the Santander dataset.
Stars: ✭ 60 (-40.59%)
Mutual labels:  autoencoder, collaborative-filtering
Sdne Keras
Keras implementation of Structural Deep Network Embedding, KDD 2016
Stars: ✭ 83 (-17.82%)
Mutual labels:  autoencoder
Molencoder
Molecular AutoEncoder in PyTorch
Stars: ✭ 69 (-31.68%)
Mutual labels:  autoencoder
Research On Collaborative Filtering Algorithms
Research on Collaborative Filtering Algorithms
Stars: ✭ 66 (-34.65%)
Mutual labels:  collaborative-filtering
Repo 2017
Python codes in Machine Learning, NLP, Deep Learning and Reinforcement Learning with Keras and Theano
Stars: ✭ 1,123 (+1011.88%)
Mutual labels:  autoencoder
Enmf
This is our implementation of ENMF: Efficient Neural Matrix Factorization (TOIS. 38, 2020). This also provides a fair evaluation of existing state-of-the-art recommendation models.
Stars: ✭ 96 (-4.95%)
Mutual labels:  collaborative-filtering
Deepicf
TensorFlow Implementation of Deep Item-based Collaborative Filtering Model for Top-N Recommendation
Stars: ✭ 86 (-14.85%)
Mutual labels:  collaborative-filtering
Graphmat
GraphMat graph analytics framework
Stars: ✭ 81 (-19.8%)
Mutual labels:  collaborative-filtering
Rankfm
Factorization Machines for Recommendation and Ranking Problems with Implicit Feedback Data
Stars: ✭ 71 (-29.7%)
Mutual labels:  collaborative-filtering
Fastai
R interface to fast.ai
Stars: ✭ 85 (-15.84%)
Mutual labels:  collaborative-filtering
Gorse
An open source recommender system service written in Go
Stars: ✭ 1,148 (+1036.63%)
Mutual labels:  collaborative-filtering
Pytorch sac ae
PyTorch implementation of Soft Actor-Critic + Autoencoder(SAC+AE)
Stars: ✭ 94 (-6.93%)
Mutual labels:  autoencoder
Codeslam
Implementation of CodeSLAM — Learning a Compact, Optimisable Representation for Dense Visual SLAM paper (https://arxiv.org/pdf/1804.00874.pdf)
Stars: ✭ 64 (-36.63%)
Mutual labels:  autoencoder
Image similarity
PyTorch Blog Post On Image Similarity Search
Stars: ✭ 80 (-20.79%)
Mutual labels:  autoencoder
Niftynet
[unmaintained] An open-source convolutional neural networks platform for research in medical image analysis and image-guided therapy
Stars: ✭ 1,276 (+1163.37%)
Mutual labels:  autoencoder
Aialpha
Use unsupervised and supervised learning to predict stocks
Stars: ✭ 1,191 (+1079.21%)
Mutual labels:  autoencoder
Recommend
Python 3.6 下的推荐算法解析,尽量使用简单的语言剖析原理,相似度度量、协同过滤、矩阵分解等
Stars: ✭ 72 (-28.71%)
Mutual labels:  collaborative-filtering

Deep-Autoencoders-For-Collaborative-Filtering

Collaborative Filtering is a method used by recommender systems to make predictions about an interest of an specific user by collecting taste or preferences information from many other users. The technique of Collaborative Filtering has the underlying assumption that if a user A has the same taste or opinion on an issue as the person B, A is more likely to have B’s opinion on a different issue. 

In this project I predict the ratings a user would give a movie based on this user's taste and the taste of other users who watched and rated the same and similar movies.

Datasets

The current version support only the MovieLens ml-1m.zip dataset obtained from https://grouplens.org/datasets/movielens/.

Model Training

  • Download the ml-1m.zip dataset from https://grouplens.org/datasets/movielens/.

  • Devide the ratings.dat file from ml-1m.zip into training and testing datasets train.dat and test.dat. by using the command

     python src\data\train_test_split.py 
    
  • Use shell to make TF_Record files out of the both train.dat and test.dat files by executing the command:

     python src\data\tf_record_writer.py 
    
  • Use shell to start the training by executing the command (optionally parse your hyperparameters):

      python training.py 
    

Training Results

During the training after each epoch the loss on the training and testing data set is shown. The loss is a root mean squared error loss (MSE). The mean absolute error (mean_abs_error) is a better metric to validate the performance however.mean_abs_error tells the differences between predicted ratings and true ratings. E.g. a mean_abs_error of 0.923 means that on an average the predicted rating deviates from the actual rating by 0.923 stars.

   epoch_nr: 0, train_loss: 1.421, test_loss: 0.967, mean_abs_error: 0.801
   epoch_nr: 1, train_loss: 0.992, test_loss: 0.961, mean_abs_error: 0.797
   epoch_nr: 2, train_loss: 0.987, test_loss: 0.962, mean_abs_error: 0.798
   epoch_nr: 3, train_loss: 0.981, test_loss: 0.965, mean_abs_error: 0.801
   epoch_nr: 4, train_loss: 0.969, test_loss: 0.974, mean_abs_error: 0.808
   epoch_nr: 5, train_loss: 0.949, test_loss: 0.988, mean_abs_error: 0.822

Author

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