Skip to main content

A science toolkit for recommender systems

Project description

Scikit-Recommender

Scikit-Recommender is an open source library for researchers of recommender systems.

Highlighted Features

  • Various recommendation models
  • Parse arguments from command line and ini-style files
  • Diverse data preprocessing
  • Fast negative sampling
  • Fast model evaluation
  • Convenient record logging
  • Flexible batch data iterator

Installation

You have three ways to use Scikit-Recommender:

  1. Install from PyPI
  2. Install from Source
  3. Run without Installation

Install from PyPI

Binary installers are available at the Python package index and you can install the package from pip.

pip install scikit-recommender

Install from Source

Installing from source requires Cython and the current code works well with the version 0.29.20.

To build scikit-recommender from source you need Cython:

pip install cython==0.29.20

Then, the scikit-recommender can be installed by executing:

git clone https://github.com/ZhongchuanSun/scikit-recommender.git
cd scikit-recommender
python setup.py install

Run without Installation

Alternatively, You can also run the sources without installation. Please compile the cython codes before running:

git clone https://github.com/ZhongchuanSun/scikit-recommender.git
cd scikit-recommender
python setup.py build_ext --inplace

Usage

After installing or compiling this package, now you can run the run_skrec.py:

python run_skrec.py

You can also find examples in tutorial.ipynb.

Models

Recommender Implementation Paper   Publication  
BPRMF PyTorch Steffen Rendle et al., BPR: Bayesian Personalized Ranking from Implicit Feedback. UAI 2009
AOBPR C/Cython Steffen Rendle et al., Improving Pairwise Learning for Item Recommendation from Implicit Feedback. WSDM 2014
BERT4Rec TensorFlow (1.14) Fei Sun et al., BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer. CIKM 2019
LightGCN PyTorch Xiangnan He et al., LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation. SIGIR 2020
SASRec TensorFlow (1.14) Wangcheng Kang et al., Self-Attentive Sequential Recommendation. ICDM 2018
HGN PyTorch Chen Ma et al., Hierarchical Gating Networks for Sequential Recommendation. KDD 2019
TransRec PyTorch Ruining He et al., Translation-based Recommendation. RecSys 2017
SRGNN TensorFlow (1.14) Shu Wu et al., Session-Based Recommendation with Graph Neural Networks. AAAI 2019
FPMC PyTorch Steffen Rendle et al., Factorizing Personalized Markov Chains for Next-Basket Recommendation. WWW 2010
Pop Python Make recommendations based on item popularity.
GRU4Rec TensorFlow (1.14) Balázs Hidasi et al., Session-based Recommendations with Recurrent Neural Networks. ICLR 2016
GRU4RecPlus TensorFlow (1.14) Balázs Hidasi et al., Recurrent Neural Networks with Top-k Gains for Session-based Recommendations. CIKM 2018
Caser PyTorch Jiaxi Tang et al., Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding. WSDM 2018
CML TensorFlow (1.14) Cheng-Kang Hsieh et al., Collaborative Metric Learning. WWW 2017
MultiVAE PyTorch Dawen Liang, et al., Variational Autoencoders for Collaborative Filtering. WWW 2018
CDAE PyTorch Yao Wu et al., Collaborative Denoising Auto-Encoders for Top-n Recommender Systems. WSDM 2016
SGAT TensorFlow (1.14) Zhongchuan Sun, et al., Sequential Graph Collaborative Filtering Information Sciences 2022

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

scikit_recommender-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.0.2-cp310-cp310-macosx_11_0_x86_64.whl (312.3 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ x86-64

scikit_recommender-0.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

scikit_recommender-0.0.2-cp37-cp37m-macosx_10_15_x86_64.whl (314.9 kB view hashes)

Uploaded CPython 3.7m macOS 10.15+ x86-64

scikit_recommender-0.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page