Skip to main content

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

MMRec Implementation Paper   Publication  
MGCN PyTorch Penghang Yu, et al., Multi-View Graph Convolutional Network for Multimedia Recommendation ACM MM 2023
BM3 PyTorch Xin Zhou, et al., Bootstrap Latent Representations for Multi-modal Recommendation WWW 2023
FREEDOM PyTorch Xin Zhou, et al., A Tale of Two Graphs: Freezing and Denoising Graph Structures for Multimodal Recommendation ACM MM 2023
SLMRec PyTorch Zhulin Tao, et al., Self-supervised Learning for Multimedia Recommendation TMM 2022
LATTICE PyTorch Jinghao Zhang, et al., Mining Latent Structures for Multimedia Recommendation ACM MM 2021
Recommender Implementation Paper   Publication  
SelfCF PyTorch Xin Zhou, et al., SelfCF: A Simple Framework for Self-supervised Collaborative Filtering TORS 2023
LayerGCN PyTorch Xin Zhou, et al., Layer-refined Graph Convolutional Networks for Recommendation ICDE 2023
DENS PyTorch Riwei Lai, et al., Disentangled Negative Sampling for Collaborative Filtering WSDM 2023
LightGCL PyTorch Xuheng Cai, et al., LightGCL: Simple Yet Effective Graph Contrastive Learning for Recommendation ICLR 2023
SGAT TensorFlow (1.14) Zhongchuan Sun, et al., Sequential Graph Collaborative Filtering Information Sciences 2022
LightGCN PyTorch Xiangnan He et al., LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation. SIGIR 2020
SRGNN TensorFlow (1.14) Shu Wu et al., Session-Based Recommendation with Graph Neural Networks. AAAI 2019
HGN PyTorch Chen Ma et al., Hierarchical Gating Networks for Sequential Recommendation. KDD 2019
BERT4Rec TensorFlow (1.14) Fei Sun et al., BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer. CIKM 2019
SASRec TensorFlow (1.14) Wangcheng Kang et al., Self-Attentive Sequential Recommendation. ICDM 2018
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
MultiVAE PyTorch Dawen Liang, et al., Variational Autoencoders for Collaborative Filtering. WWW 2018
TransRec PyTorch Ruining He et al., Translation-based Recommendation. RecSys 2017
CML TensorFlow (1.14) Cheng-Kang Hsieh et al., Collaborative Metric Learning. WWW 2017
CDAE PyTorch Yao Wu et al., Collaborative Denoising Auto-Encoders for Top-n Recommender Systems. WSDM 2016
GRU4Rec TensorFlow (1.14) Balázs Hidasi et al., Session-based Recommendations with Recurrent Neural Networks. ICLR 2016
AOBPR C/Cython Steffen Rendle et al., Improving Pairwise Learning for Item Recommendation from Implicit Feedback. WSDM 2014
FPMC PyTorch Steffen Rendle et al., Factorizing Personalized Markov Chains for Next-Basket Recommendation. WWW 2010
BPRMF PyTorch Steffen Rendle et al., BPR: Bayesian Personalized Ranking from Implicit Feedback. UAI 2009
Pop Python Make recommendations based on item popularity.

Metadata

Release files for scikit-recommender 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for scikit-recommender 0.1.1
File
scikit_recommender-0.1.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
scikit_recommender-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
scikit_recommender-0.1.1-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
scikit_recommender-0.1.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
scikit_recommender-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
scikit_recommender-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
scikit_recommender-0.1.1-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
scikit_recommender-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
scikit_recommender-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 11.0+ x86-64 Details
scikit_recommender-0.1.1-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
scikit_recommender-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
scikit_recommender-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl CPython 3.8 CPython 3.8 macOS 11.0+ x86-64 Details
scikit_recommender-0.1.1-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
scikit_recommender-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
scikit_recommender-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ x86-64 Details
scikit_recommender-0.1.1-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details
scikit_recommender-0.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 Details
scikit_recommender-0.1.1-cp36-cp36m-macosx_10_14_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.14+ x86-64 Details

Total release size: 19.7 MB

Release files / scikit_recommender-0.1.1-cp311-cp311-win_amd64.whl

Download URL scikit_recommender-0.1.1-cp311-cp311-win_amd64.whl
Size 360.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ea3cf74edea92829f4a67137efd297c8b684392d687e040107f22d8fff476bdd
BLAKE2b-256 checksum
How to use checksums
003c3142dab70fc8a4ec1c4bb38a26defca70f90f0dcf0364922b0a786748d1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / scikit_recommender-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_recommender-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c723aebd18e8e7a5482e1018c76344d4efc67e2cdf8350f11b81bc833873dc0c
BLAKE2b-256 checksum
How to use checksums
131a0c20c30d7294f9154b32b199567bef9e1271173b7e471dfcf1b9ad8dd8e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / scikit_recommender-0.1.1-cp311-cp311-macosx_10_9_universal2.whl

Download URL scikit_recommender-0.1.1-cp311-cp311-macosx_10_9_universal2.whl
Size 637.4 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
80c90682954a8c534a87650adca4f1b7cc376117163ca552ab3c6a4839c3fd84
BLAKE2b-256 checksum
How to use checksums
08c294ed36a7fa176fac1667d7bbef6304fea89934130b6b94a0ed61706e31db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / scikit_recommender-0.1.1-cp310-cp310-win_amd64.whl

Download URL scikit_recommender-0.1.1-cp310-cp310-win_amd64.whl
Size 359.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
7affb44a5f6fb48abf2ec64a976da19d0bd48c7e24439a70d800fdf5fe812404
BLAKE2b-256 checksum
How to use checksums
e97bd21375862189ef84accd88cdde352c80a0e41373d6cc225baa19224d35e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.11

Release files / scikit_recommender-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_recommender-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bf745ccf771f5a116f01d1392fb4917d87e4f6de5706c276d342416250fb7fb5
BLAKE2b-256 checksum
How to use checksums
3623117e5e9108a4c5a2c7f0e9570c598836bb29538c4286c55132a216acb45e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / scikit_recommender-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl

Download URL scikit_recommender-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl
Size 395.8 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
b73e83827d308d2091bd1f8f5bb96f78c9dd91a7942727769f036c5d48a7e978
BLAKE2b-256 checksum
How to use checksums
b83cab98fa2854df8a2b92351aa8b0d77b8771f1cb720683ce1af7140d969625
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release files / scikit_recommender-0.1.1-cp39-cp39-win_amd64.whl

Download URL scikit_recommender-0.1.1-cp39-cp39-win_amd64.whl
Size 391.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
2a31ff71e0742ce77cf1b5f96a36e6da4de9cba1fff0d047bbc4542cb54d170c
BLAKE2b-256 checksum
How to use checksums
cef0a08cf4401ce8bf32b068b5804e3086126663d2f002e61ba39736f83ee5c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / scikit_recommender-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_recommender-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
66979358abc0b5b865a7e36bbf0bbeee874c919ce7e1168a27d29a2a5288f495
BLAKE2b-256 checksum
How to use checksums
f4bee9373a49c8a4a8a124e8a4610c68e4bcfee9c756deee23c2521e882f01cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / scikit_recommender-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl

Download URL scikit_recommender-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl
Size 395.8 kB
Tags CPython 3.9 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
21d8bee40590e59bfdbb675ca9c6a6f39fb978f57e278690982098bfbf168736
BLAKE2b-256 checksum
How to use checksums
afe4eabcaf9498924256fd271a9ce02784798f8b775fab3763f14487f2d8bac3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / scikit_recommender-0.1.1-cp38-cp38-win_amd64.whl

Download URL scikit_recommender-0.1.1-cp38-cp38-win_amd64.whl
Size 392.5 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
e09f6de77a9e3518cf453f3ada087a407d5eceb765bd0d6bebf28f7c1d2b7b25
BLAKE2b-256 checksum
How to use checksums
5ec2f34c50fa985e45cce7a49a4db94135222804ee495acbe416747c41d01cf9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release files / scikit_recommender-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_recommender-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
538c2034e2f1dafe862d900d3df0501924d72e4507abf8c98d20c77e1e50478f
BLAKE2b-256 checksum
How to use checksums
fb1c26dcda953861e4b713c6d2c7d65e2eea8e8c6d5ae1a91cf4476e026aa869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / scikit_recommender-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl

Download URL scikit_recommender-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl
Size 393.3 kB
Tags CPython 3.8 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
483917cfd2e88ba530f3f12460cb15fc4bb15cc7d3c2f7c6c3559c9ea6b819be
BLAKE2b-256 checksum
How to use checksums
91052b5e01a5b6b293a9741269f4ccab12f8aae63238cbf180de587eca0eedce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / scikit_recommender-0.1.1-cp37-cp37m-win_amd64.whl

Download URL scikit_recommender-0.1.1-cp37-cp37m-win_amd64.whl
Size 392.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
7a11cc6c0108ad2841d40727d65708d15a632ef77518d1b50cbdf2faaa767515
BLAKE2b-256 checksum
How to use checksums
d4be0e0b86ce9d546dd3178f70ef372c0c8cca5c9f4e8614e89bf2c82243045b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.9

Release files / scikit_recommender-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_recommender-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
989483270af2e50ad35b28756d55923a10cacbf5729ddd5aa5972b123eb786fe
BLAKE2b-256 checksum
How to use checksums
c6212d97e239eea4ae2f08b900b74aeed041c4423ad47d4ea7c9c0a89b59c155
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / scikit_recommender-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl

Download URL scikit_recommender-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl
Size 397.8 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
4c11840dd82d7c4859eb04d733f642bc48ec1716a055f2f63a08c78f1142b4ed
BLAKE2b-256 checksum
How to use checksums
fdf3dc74f2f540ffe279e6c1cedd72a471c3993266f16c64003e76134d2f9a98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.17

Release files / scikit_recommender-0.1.1-cp36-cp36m-win_amd64.whl

Download URL scikit_recommender-0.1.1-cp36-cp36m-win_amd64.whl
Size 378.1 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
5feac6c05c6f5911279231c455f8adea713b4c93d0def75c4d0fdeb2a31678c3
BLAKE2b-256 checksum
How to use checksums
67655a304ea6581302d69b693bcbdb52d5fd0f385009768c90730ea4a1238055
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.16 tqdm/4.64.1 importlib-metadata/4.2.0 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8

Release files / scikit_recommender-0.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL scikit_recommender-0.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c9ff9ed99f36c332324fbc56f9d4125d5d3f5a6df1d41513f0336eef5f548d91
BLAKE2b-256 checksum
How to use checksums
edf19dc30d30f03d25d331a9da85663228140f41e293b69551d31144d36b56af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / scikit_recommender-0.1.1-cp36-cp36m-macosx_10_14_x86_64.whl

Download URL scikit_recommender-0.1.1-cp36-cp36m-macosx_10_14_x86_64.whl
Size 381.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
70a602cf144747e2052ac6e8c38713a025e01f1152caeabebd8be81572e60df7
BLAKE2b-256 checksum
How to use checksums
bba0f6056dae9db8b1f41cb72d6017e1f82565d597f10108ca47fa74f297d992
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.16 tqdm/4.64.1 importlib-metadata/4.2.0 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15

Release history Release notifications | RSS feed

This release

0.1.1 This release

18 release files

0.1.0

18 release files

0.0.5

18 release files

0.0.4

18 release files

0.0.3

18 release files

0.0.2

8 release files

0.0.1

12 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page