QRec: A Python Framework for quick implementation of recommender systems (TensorFlow Based)

Overview

logo

GitHub last commit

Introduction

QRec is a Python framework for recommender systems (Supported by Python 3.7.4 and Tensorflow 1.14+) in which a number of influential and newly state-of-the-art recommendation models are implemented. QRec has a lightweight architecture and provides user-friendly interfaces. It can facilitate model implementation and evaluation.
Founder and principal contributor: @Coder-Yu
Other contributors: @DouTong @Niki666 @HuXiLiFeng @BigPowerZ @flyxu
Supported by: @AIhongzhi (A/Prof. Hongzhi Yin, UQ), @mingaoo (A/Prof. Min Gao, CQU)

What's New

12/10/2021 - BUIR proposed in SIGIR'21 paper has been added.
30/07/2021 - We have transplanted QRec from py2 to py3.
07/06/2021 - SEPT proposed in our KDD'21 paper has been added.
16/05/2021 - SGL proposed in SIGIR'21 paper has been added.
16/01/2021 - MHCN proposed in our WWW'21 paper has been added.
22/09/2020 - DiffNet proposed in SIGIR'19 has been added.
19/09/2020 - DHCF proposed in KDD'20 has been added.
29/07/2020 - ESRF proposed in my TKDE paper has been added.
23/07/2020 - LightGCN proposed in SIGIR'20 has been added.
17/09/2019 - NGCF proposed in SIGIR'19 has been added.
13/08/2019 - RSGAN proposed in ICDM'19 has been added.
09/08/2019 - Our paper is accepted as full research paper by ICDM'19.
20/02/2019 - IRGAN proposed in SIGIR'17 has been added.
12/02/2019 - CFGAN proposed in CIKM'18 has been added.

Architecture

QRec Architecture

Workflow

QRec Architecture

Features

  • Cross-platform: QRec can be easily deployed and executed in any platforms, including MS Windows, Linux and Mac OS.
  • Fast execution: QRec is based on Numpy, Tensorflow and some lightweight structures, which make it run fast.
  • Easy configuration: QRec configs recommenders with a configuration file and provides multiple evaluation protocols.
  • Easy expansion: QRec provides a set of well-designed recommendation interfaces by which new algorithms can be easily implemented.

Requirements

  • gensim==4.1.2
  • joblib==1.1.0
  • mkl==2022.0.0
  • mkl_service==2.4.0
  • networkx==2.6.2
  • numba==0.53.1
  • numpy==1.20.3
  • scipy==1.6.2
  • tensorflow==1.14.0

Usage

There are two ways to run the recommendation models in QRec:

  • 1.Configure the xx.conf file in the directory named config. (xx is the name of the model you want to run)
  • 2.Run main.py.

Or

  • Follow the codes in snippet.py.

For more details, we refer you to the handbook of QRec.

Configuration

Essential Options

Entry Example Description
ratings D:/MovieLens/100K.txt Set the file path of the dataset. Format: each row separated by empty, tab or comma symbol.
social D:/MovieLens/trusts.txt Set the file path of the social dataset. Format: each row separated by empty, tab or comma symbol.
ratings.setup -columns 0 1 2 -columns: (user, item, rating) columns of rating data are used.
social.setup -columns 0 1 2 -columns: (trustor, trustee, weight) columns of social data are used.
mode.name UserKNN/ItemKNN/SlopeOne/etc. name of the recommendation model.
evaluation.setup -testSet ../dataset/testset.txt Main option: -testSet, -ap, -cv (choose one of them)
-testSet path/to/test/file (need to specify the test set manually)
-ap ratio (ap means that the ratings are automatically partitioned into training set and test set, the number is the ratio of the test set. e.g. -ap 0.2)
-cv k (-cv means cross validation, k is the number of the fold. e.g. -cv 5)
-predict path/to/user list/file (predict for a given list of users without evaluation; need to mannually specify the user list file (each line presents a user))
Secondary option:-b, -p, -cold, -tf, -val (multiple choices)
-val ratio (model test would be conducted on the validation set which is generated by randomly sampling the training dataset with the given ratio.)
-b thres (binarizing the rating values. Ratings equal or greater than thres will be changed into 1, and ratings lower than thres will be left out. e.g. -b 3.0)
-p (if this option is added, the cross validation wll be executed parallelly, otherwise executed one by one)
-tf (model training will be conducted on TensorFlow (only applicable and needed for shallow models))
-cold thres (evaluation on cold-start users; users in the training set with rated items more than thres will be removed from the test set)
item.ranking off -topN -1 Main option: whether to do item ranking
-topN N1,N2,N3...: the length of the recommendation list. *QRec can generate multiple evaluation results for different N at the same time
output.setup on -dir ./Results/ Main option: whether to output recommendation results
-dir path: the directory path of output results.

Memory-based Options

similarity pcc/cos Set the similarity method to use. Options: PCC, COS;
num.neighbors 30 Set the number of neighbors used for KNN-based algorithms such as UserKNN, ItemKNN.

Model-based Options

num.factors 5/10/20/number Set the number of latent factors
num.max.epoch 100/200/number Set the maximum number of epoch for iterative recommendation algorithms.
learnRate -init 0.01 -max 1 -init initial learning rate for iterative recommendation algorithms;
-max: maximum learning rate (default 1);
reg.lambda -u 0.05 -i 0.05 -b 0.1 -s 0.1 -u: user regularizaiton; -i: item regularization; -b: bias regularizaiton; -s: social regularization

Implement Your Model

  • 1.Make your new algorithm generalize the proper base class.
  • 2.Reimplement some of the following functions as needed.
          - readConfiguration()
          - printAlgorConfig()
          - initModel()
          - trainModel()
          - saveModel()
          - loadModel()
          - predictForRanking()
          - predict()

For more details, we refer you to the handbook of QRec.

Implemented Algorithms

       
Rating prediction Paper
SlopeOne Lemire and Maclachlan, Slope One Predictors for Online Rating-Based Collaborative Filtering, SDM'05.
PMF Salakhutdinov and Mnih, Probabilistic Matrix Factorization, NIPS'08.
SoRec Ma et al., SoRec: Social Recommendation Using Probabilistic Matrix Factorization, SIGIR'08.
SVD++ Koren, Factorization meets the neighborhood: a multifaceted collaborative filtering model, SIGKDD'08.
RSTE Ma et al., Learning to Recommend with Social Trust Ensemble, SIGIR'09.
SVD Y. Koren, Collaborative Filtering with Temporal Dynamics, SIGKDD'09.
SocialMF Jamali and Ester, A Matrix Factorization Technique with Trust Propagation for Recommendation in Social Networks, RecSys'10.
EE Khoshneshin et al., Collaborative Filtering via Euclidean Embedding, RecSys'10.
SoReg Ma et al., Recommender systems with social regularization, WSDM'11.
LOCABAL Tang, Jiliang, et al. Exploiting local and global social context for recommendation, AAAI'13.
SREE Li et al., Social Recommendation Using Euclidean embedding, IJCNN'17.
CUNE-MF Zhang et al., Collaborative User Network Embedding for Social Recommender Systems, SDM'17.

                       
Item Ranking Paper
BPR Rendle et al., BPR: Bayesian Personalized Ranking from Implicit Feedback, UAI'09.
WRMF Yifan Hu et al.Collaborative Filtering for Implicit Feedback Datasets, KDD'09.
SBPR Zhao et al., Leveraing Social Connections to Improve Personalized Ranking for Collaborative Filtering, CIKM'14
ExpoMF Liang et al., Modeling User Exposure in Recommendation, WWW''16.
CoFactor Liang et al., Factorization Meets the Item Embedding: Regularizing Matrix Factorization with Item Co-occurrence, RecSys'16.
TBPR Wang et al. Social Recommendation with Strong and Weak Ties, CIKM'16'.
CDAE Wu et al., Collaborative Denoising Auto-Encoders for Top-N Recommender Systems, WSDM'16'.
DMF Xue et al., Deep Matrix Factorization Models for Recommender Systems, IJCAI'17'.
NeuMF He et al. Neural Collaborative Filtering, WWW'17.
CUNE-BPR Zhang et al., Collaborative User Network Embedding for Social Recommender Systems, SDM'17'.
IRGAN Wang et al., IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models, SIGIR'17'.
SERec Wang et al., Collaborative Filtering with Social Exposure: A Modular Approach to Social Recommendation, AAAI'18'.
APR He et al., Adversarial Personalized Ranking for Recommendation, SIGIR'18'.
IF-BPR Yu et al. Adaptive Implicit Friends Identification over Heterogeneous Network for Social Recommendation, CIKM'18'.
CFGAN Chae et al. CFGAN: A Generic Collaborative Filtering Framework based on Generative Adversarial Networks, CIKM'18.
NGCF Wang et al. Neural Graph Collaborative Filtering, SIGIR'19'.
DiffNet Wu et al. A Neural Influence Diffusion Model for Social Recommendation, SIGIR'19'.
RSGAN Yu et al. Generating Reliable Friends via Adversarial Learning to Improve Social Recommendation, ICDM'19'.
LightGCN He et al. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation, SIGIR'20.
DHCF Ji et al. Dual Channel Hypergraph Collaborative Filtering, KDD'20.
ESRF Yu et al. Enhancing Social Recommendation with Adversarial Graph Convlutional Networks, TKDE'20.
MHCN Yu et al. Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation, WWW'21.
SGL Wu et al. Self-supervised Graph Learning for Recommendation, SIGIR'21.
SEPT Yu et al. Socially-Aware Self-supervised Tri-Training for Recommendation, KDD'21.
BUIR Lee et al. Bootstrapping User and Item Representations for One-Class Collaborative Filtering, SIGIR'21.

Related Datasets

   
Data Set Basic Meta User Context
Users Items Ratings (Scale) Density Users Links (Type)
Ciao [1] 7,375 105,114 284,086 [1, 5] 0.0365% 7,375 111,781 Trust
Epinions [2] 40,163 139,738 664,824 [1, 5] 0.0118% 49,289 487,183 Trust
Douban [3] 2,848 39,586 894,887 [1, 5] 0.794% 2,848 35,770 Trust
LastFM [4] 1,892 17,632 92,834 implicit 0.27% 1,892 25,434 Trust
Yelp [5] 19,539 21,266 450,884 implicit 0.11% 19,539 864,157 Trust
Amazon-Book [6] 52,463 91,599 2,984,108 implicit 0.11% - - -

Reference

[1]. Tang, J., Gao, H., Liu, H.: mtrust:discerning multi-faceted trust in a connected world. In: International Conference on Web Search and Web Data Mining, WSDM 2012, Seattle, Wa, Usa, February. pp. 93–102 (2012)

[2]. Massa, P., Avesani, P.: Trust-aware recommender systems. In: Proceedings of the 2007 ACM conference on Recommender systems. pp. 17–24. ACM (2007)

[3]. G. Zhao, X. Qian, and X. Xie, “User-service rating prediction by exploring social users’ rating behaviors,” IEEE Transactions on Multimedia, vol. 18, no. 3, pp. 496–506, 2016.

[4]. Iván Cantador, Peter Brusilovsky, and Tsvi Kuflik. 2011. 2nd Workshop on Information Heterogeneity and Fusion in Recom- mender Systems (HetRec 2011). In Proceedings of the 5th ACM conference on Recommender systems (RecSys 2011). ACM, New York, NY, USA

[5]. Yu et al. Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation, WWW'21.

[6]. He et al. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation, SIGIR'20.

Acknowledgment

This project is supported by the Responsible Big Data Intelligence Lab (RBDI) at the school of ITEE, University of Queensland, and Chongqing University.

If our project is helpful to you, please cite one of these papers.
@inproceedings{yu2018adaptive,
title={Adaptive implicit friends identification over heterogeneous network for social recommendation},
author={Yu, Junliang and Gao, Min and Li, Jundong and Yin, Hongzhi and Liu, Huan},
booktitle={Proceedings of the 27th ACM International Conference on Information and Knowledge Management},
pages={357--366},
year={2018},
organization={ACM}
}

@inproceedings{yu2021self,
title={Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation},
author={Yu, Junliang and Yin, Hongzhi and Li, Jundong and Wang, Qinyong and Hung, Nguyen Quoc Viet and Zhang, Xiangliang},
booktitle={Proceedings of the Web Conference 2021},
pages={413--424},
year={2021}
}

Comments
  • ImportError: No module named mkl

    ImportError: No module named mkl

    你好,在Macbook上运行main.py出现了一个问题,下载了依赖mkl,还是出现这个:

    /usr/local/bin/python2.7 /Users/feanlau/Desktop/RecQ/main/main.py
    Traceback (most recent call last):
      File "/Users/feanlau/Desktop/RecQ/main/main.py", line 3, in <module>
        from RecQ import RecQ
      File "/Users/feanlau/Desktop/RecQ/main/RecQ.py", line 9, in <module>
        import mkl
    ImportError: No module named mkl
    
    Process finished with exit code 1
    

    jietu20181010-145943

    请问一下,这个问题如何解决

    opened by feanlau 12
  • Got 'InvalidArgumentError: indices[0] = 1875 is not in [0, 1795)' in running RSGAN

    Got 'InvalidArgumentError: indices[0] = 1875 is not in [0, 1795)' in running RSGAN

    When running the RSGAN algorithm, this error below appears frequently that I can hardly get the predicting process completed. I was wondering whether the "Process Process-2" is right or not. Is it the problem of multi-process?

    Predicting [1]...
    RSGAN [1] progress:0/1753
    RSGAN [1] progress:100/1753
    RSGAN [1] progress:200/1753
    RSGAN [1] progress:300/1753
    RSGAN [1] progress:400/1753
    Process Process-2:
    Traceback (most recent call last):
      File "/home/azure/miniconda3/envs/py2/lib/python2.7/multiprocessing/process.py", line 267, in _bootstrap
        self.run()
      File "/home/azure/miniconda3/envs/py2/lib/python2.7/multiprocessing/process.py", line 114, in run
        self._target(*self._args, **self._kwargs)
      File "/home/azure/RecQ-master/main/RecQ.py", line 116, in run
        measure[order] = algor.execute()
      File "../baseclass/Recommender.py", line 257, in execute
        self.evalRanking()
      File "../baseclass/Recommender.py", line 153, in evalRanking
        predictedItems = self.predictForRanking(user)
      File "../algorithm/ranking/RSGAN.py", line 448, in predictForRanking
        res = self.sess.run(self.d_output, {self.u_idx:[u]})
      File "/home/azure/miniconda3/envs/py2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 950, in run
        run_metadata_ptr)
      File "/home/azure/miniconda3/envs/py2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1173, in _run
        feed_dict_tensor, options, run_metadata)
      File "/home/azure/miniconda3/envs/py2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1350, in _do_run
        run_metadata)
      File "/home/azure/miniconda3/envs/py2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1370, in _do_call
        raise type(e)(node_def, op, message)
    InvalidArgumentError: indices[0] = 1875 is not in [0, 1795)
             [[node discriminator/u_e (defined at ../algorithm/ranking/RSGAN.py:334) ]]
    
    Errors may have originated from an input operation.
    Input Source operations connected to node discriminator/u_e:
     U/read (defined at ../baseclass/DeepRecommender.py:24) 
     u_idx (defined at ../baseclass/DeepRecommender.py:19)
    
    opened by HanlynnKe 11
  • Graph Neural Network for social recommendaiton

    Graph Neural Network for social recommendaiton

    As you updated Deep Graph Collaborative Filtering recently, have you tried to implement another state-of-the-art algorithm GraphRec from the paper Graph Neural Network for Social Recommendation in RecQ?

    I met some problems when implementing GraphRec as getting worse results than reported in the paper. I'm wondering if it's because my implementation is wrong or GraphRec doesn't work as reported.

    opened by golsutsg 8
  • 关于复现ESRF模型转为torch的问题

    关于复现ESRF模型转为torch的问题

    于老师,您好!我最近在将ESRF的代码转为torch的版本,但是在计算可替代邻居的部分占用了太大的内存消耗,self.alternativeNeighborhood = tf.vectorized_map(fn=lambda em:getAlternativeNeighborhood(em),elems=user_features),这句我转换为了循环函数,for elems in user_features: alternativeNeighborhood.append(getAlternativeNeighborhood(elems)),但是在用稍微大一点的数据集如Ciao时,都会内存溢出(如Ciao,7375个user,在为第700多个用户计算可替代邻居时内存就满了,8G的显存)。在打印GPU的使用情况发现,就是这句代码为每个用户计算时,占用了特别大内存消耗。然后我在这部分仅仅计算每个batch的users的可替代邻居,但是最后计算损失函数,又没有可替代邻居的embedding时,因此想请教老师,有什么能解决这句代码内存消耗的方法吗?

    opened by happylee 6
  • Implementation and formula problems about RSGAN.

    Implementation and formula problems about RSGAN.

    Hi. I have some problems with both the implementation and several formulas in your RSGAN paper.

    1. As you present the whole min-max loss of RSGAN in Eq. 9, however, in Eq. 8, the generator's loss is defined without the latter part of Eq. 9, log(sigmoid(x_uz-x_uj)), which is the difference between the scores of generated items and negative items. I think, to reach an equilibrium, the loss of the generator should maximize the whole loss of Eq.9. Why do you design the generator loss without the latter part of Eq.9?
    2. As in your implementation, the loss of the generator is defined without the log part and is multiplied by 30. Is it implemented in this way to avoid too small gradients brought by the log function? And is this so-called implementation trick by others?

    Thanks for your time. Your reply always helps a lot.

    opened by iYiYaHa 6
  • 关于MHCN论文结果复现的问题

    关于MHCN论文结果复现的问题

    我在lastfm上运行了代码中MHCN的模型,看到代码中实现的是s2-MHCN,但运行出的结果与论文中给出的实验数据有一定出入(如下: Precision:0.19607427055702917 Recall:0.1991364574123199 F1:0.197593500708107 NDCG:0.24458583342484325

    opened by C-Comfundo 5
  • Typle Error

    Typle Error

    Hello professor!thanks for your code. when I run main.py and choose the algorithm . it always has the same question: Traceback (most recent call last): File "C:/Users/Administrator/Desktop/新建文件夹/RecQ/RecQ-master/main/main.py", line 67, in recSys.execute() File "C:\Users\Administrator\Desktop\新建文件夹\RecQ\RecQ-master\main\RecQ.py", line 100, in execute self.measure = [dict.setdafault(m)[i] for i in range(1,k+1)] File "C:\Users\Administrator\Desktop\新建文件夹\RecQ\RecQ-master\main\RecQ.py", line 100, in self.measure = [dict.setdafault(m)[i] for i in range(1,k+1)] AttributeError: type object 'dict' has no attribute 'setdafault' How can I solve it?looking for your reply.

    opened by lux0818 5
  • LOCABAL梯度下降式子疑问

    LOCABAL梯度下降式子疑问

    您好,我看到您写的LOCABAL算法了,我对您用的梯度下降公式有点疑问,您在哪儿找到的这个公式,我在原论文里没找到啊,然后我在其他论文里找到了部分,a synthetic approach for recommendation combining ratings social relations and reviews. 这个论文里使用了LOCABAL算法,他给出的迭代公式和您代码里写的还是有很大不同的。这里我还是有点疑惑的。

    opened by flyxu 5
  • Problems of results of LightGCN

    Problems of results of LightGCN

    Hi, I've run LightGCN in QRec recently. But I find that the performance of it is not good. The results I get on Yelp are Precision:0.0252', 'Recall:0.0575', 'F1:0.0350', 'NDCG:0.0465 after 1000 epochs. While the results of SEPT on the same dataset are 'Precision:0.0310', 'Recall:0.0712', 'F1:0.0432', 'NDCG:0.0583'] after 30 epochs. And I also set if epoch > self.maxEpoch / 3: to if epoch > self.maxEpoch: in SEPT, which means SEPT will behave like LightGCN. But the results, which are ['Precision:0.0289', 'Recall:0.0641', 'F1:0.0399', 'NDCG:0.0532'] after 30 epochs, are also much better than the original one. BTW, the initial rec_loss of the degraded SEPT is much lower than the original LightGCN, ~300/batch vs ~1000/batch. So I want to know how to make the original LightGCN better. I've already tried the same normalization and initiliazation as SEPT, but it doesn't work.

    opened by ShadowTinker 4
  • How to speed up the evaluation process

    How to speed up the evaluation process

    Hi, I noticed that you are evaluating one user at each time. While my test data has hundreds of thousands users, and the evaluation will take about a few minutes. While the train on GPU is very fast. So can you provide some fast evaluation method? Thank you!

    opened by ll0ruc 4
  • 存在一些问题

    存在一些问题

    Initializing model [1]... Traceback (most recent call last): File "C:/Users/MACHENIKE/Desktop/论文代码/QRec-master/main.py", line 54, in recSys.execute() File "C:\Users\MACHENIKE\Desktop\论文代码\QRec-master\QRec.py", line 114, in execute eval(recommender).execute() File "C:\Users\MACHENIKE\Desktop\论文代码\QRec-master\base\recommender.py", line 214, in execute self.initModel() File "C:\Users\MACHENIKE\Desktop\论文代码\QRec-master\model\ranking\TBPR.py", line 41, in initModel self.t_s = self.weights[len(self.weights)/2+1:].sum()/(len(self.weights[len(self.weights)/2+1:])+0.0) TypeError: slice indices must be integers or None or have an index method

    opened by Yang-YYY 4
Owner
Yu
Long live idealism!
Yu
An efficient PyTorch implementation of the evaluation metrics in recommender systems.

recsys_metrics An efficient PyTorch implementation of the evaluation metrics in recommender systems. Overview • Installation • How to use • Benchmark

Xingdong Zuo 12 Dec 2, 2022
A library for preparing, training, and evaluating scalable deep learning hybrid recommender systems using PyTorch.

collie_recs Collie is a library for preparing, training, and evaluating implicit deep learning hybrid recommender systems, named after the Border Coll

ShopRunner 97 Jan 3, 2023
Open-sourcing the Slates Dataset for recommender systems research

FINN.no Recommender Systems Slate Dataset This repository accompany the paper "Dynamic Slate Recommendation with Gated Recurrent Units and Thompson Sa

FINN.no 48 Nov 28, 2022
NVIDIA Merlin is an open source library providing end-to-end GPU-accelerated recommender systems, from feature engineering and preprocessing to training deep learning models and running inference in production.

NVIDIA Merlin NVIDIA Merlin is an open source library designed to accelerate recommender systems on NVIDIA’s GPUs. It enables data scientists, machine

null 419 Jan 3, 2023
A library for preparing, training, and evaluating scalable deep learning hybrid recommender systems using PyTorch.

collie Collie is a library for preparing, training, and evaluating implicit deep learning hybrid recommender systems, named after the Border Collie do

ShopRunner 96 Dec 29, 2022
TensorFlow Similarity is a python package focused on making similarity learning quick and easy.

TensorFlow Similarity is a python package focused on making similarity learning quick and easy.

null 912 Jan 8, 2023
Autolfads-tf2 - A TensorFlow 2.0 implementation of Latent Factor Analysis via Dynamical Systems (LFADS) and AutoLFADS

autolfads-tf2 A TensorFlow 2.0 implementation of LFADS and AutoLFADS. Installati

Systems Neural Engineering Lab 11 Oct 29, 2022
A TikTok-like recommender system for GitHub repositories based on Gorse

GitRec GitRec is the missing recommender system for GitHub repositories based on Gorse. Architecture The trending crawler crawls trending repositories

null 337 Jan 4, 2023
A Real-World Benchmark for Reinforcement Learning based Recommender System

RL4RS: A Real-World Benchmark for Reinforcement Learning based Recommender System RL4RS is a real-world deep reinforcement learning recommender system

null 121 Dec 1, 2022
A web-based application for quick, scalable, and automated hyperparameter tuning and stacked ensembling in Python.

Xcessiv Xcessiv is a tool to help you create the biggest, craziest, and most excessive stacked ensembles you can think of. Stacked ensembles are simpl

Reiichiro Nakano 1.3k Nov 17, 2022
Crab is a flexible, fast recommender engine for Python that integrates classic information filtering recommendation algorithms in the world of scientific Python packages (numpy, scipy, matplotlib).

Crab - A Recommendation Engine library for Python Crab is a flexible, fast recommender engine for Python that integrates classic information filtering r

python-recsys 1.2k Dec 21, 2022
A python library for implementing a recommender system

python-recsys A python library for implementing a recommender system. Installation Dependencies python-recsys is build on top of Divisi2, with csc-pys

Oscar Celma 1.5k Dec 17, 2022
Fashion Recommender System With Python

Fashion-Recommender-System Thr growing e-commerce industry presents us with a la

Omkar Gawade 2 Feb 2, 2022
LoL Runes Recommender With Python

LoL-Runes-Recommender Para ejecutar la aplicación se debe llamar a execute_app.p

Sebastián Salinas 1 Jan 10, 2022
StackRec: Efficient Training of Very Deep Sequential Recommender Models by Iterative Stacking

StackRec: Efficient Training of Very Deep Sequential Recommender Models by Iterative Stacking Datasets You can download datasets that have been pre-pr

null 25 May 29, 2022
Quick program made to generate alpha and delta tables for Hidden Markov Models

HMM_Calc Functions for generating Alpha and Delta tables from a Hidden Markov Model. Parameters: a: Matrix of transition probabilities. a[i][j] = a_{i

Adem Odza 1 Dec 4, 2021
HistoSeg : Quick attention with multi-loss function for multi-structure segmentation in digital histology images

HistoSeg : Quick attention with multi-loss function for multi-structure segmentation in digital histology images Histological Image Segmentation This

Saad Wazir 11 Dec 16, 2022