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

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.

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.1.1-cp311-cp311-win_amd64.whl (360.1 kB view details)

Uploaded CPython 3.11 Windows x86-64

scikit_recommender-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.1.1-cp311-cp311-macosx_10_9_universal2.whl (637.4 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

scikit_recommender-0.1.1-cp310-cp310-win_amd64.whl (359.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

scikit_recommender-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl (395.8 kB view details)

Uploaded CPython 3.10 macOS 11.0+ x86-64

scikit_recommender-0.1.1-cp39-cp39-win_amd64.whl (391.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

scikit_recommender-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl (395.8 kB view details)

Uploaded CPython 3.9 macOS 11.0+ x86-64

scikit_recommender-0.1.1-cp38-cp38-win_amd64.whl (392.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

scikit_recommender-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

scikit_recommender-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl (393.3 kB view details)

Uploaded CPython 3.8 macOS 11.0+ x86-64

scikit_recommender-0.1.1-cp37-cp37m-win_amd64.whl (392.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

scikit_recommender-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

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

scikit_recommender-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl (397.8 kB view details)

Uploaded CPython 3.7m macOS 11.0+ x86-64

scikit_recommender-0.1.1-cp36-cp36m-win_amd64.whl (378.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

scikit_recommender-0.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

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

scikit_recommender-0.1.1-cp36-cp36m-macosx_10_14_x86_64.whl (381.0 kB view details)

Uploaded CPython 3.6m macOS 10.14+ x86-64

File details

Details for the file scikit_recommender-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ea3cf74edea92829f4a67137efd297c8b684392d687e040107f22d8fff476bdd
MD5 85ebee73f05687bfbc8088ec8d67ce6c
BLAKE2b-256 003c3142dab70fc8a4ec1c4bb38a26defca70f90f0dcf0364922b0a786748d1d

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c723aebd18e8e7a5482e1018c76344d4efc67e2cdf8350f11b81bc833873dc0c
MD5 0357132a830a079c35f65bb76f2edc87
BLAKE2b-256 131a0c20c30d7294f9154b32b199567bef9e1271173b7e471dfcf1b9ad8dd8e7

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 80c90682954a8c534a87650adca4f1b7cc376117163ca552ab3c6a4839c3fd84
MD5 36a39bb7707fcd4252bf95568032b4ed
BLAKE2b-256 08c294ed36a7fa176fac1667d7bbef6304fea89934130b6b94a0ed61706e31db

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7affb44a5f6fb48abf2ec64a976da19d0bd48c7e24439a70d800fdf5fe812404
MD5 98b7444758d4a2506fb7fd7f8a086c71
BLAKE2b-256 e97bd21375862189ef84accd88cdde352c80a0e41373d6cc225baa19224d35e0

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf745ccf771f5a116f01d1392fb4917d87e4f6de5706c276d342416250fb7fb5
MD5 db74ec006b6beccbb1bda37028033ffa
BLAKE2b-256 3623117e5e9108a4c5a2c7f0e9570c598836bb29538c4286c55132a216acb45e

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b73e83827d308d2091bd1f8f5bb96f78c9dd91a7942727769f036c5d48a7e978
MD5 7e2f8f75c89bda5020c8e40e64a12762
BLAKE2b-256 b83cab98fa2854df8a2b92351aa8b0d77b8771f1cb720683ce1af7140d969625

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2a31ff71e0742ce77cf1b5f96a36e6da4de9cba1fff0d047bbc4542cb54d170c
MD5 dc1c7cbfb6c3448719b06e1a469f46b2
BLAKE2b-256 cef0a08cf4401ce8bf32b068b5804e3086126663d2f002e61ba39736f83ee5c9

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66979358abc0b5b865a7e36bbf0bbeee874c919ce7e1168a27d29a2a5288f495
MD5 e2b414e6b8bbda8db68e9dfbf26a23dd
BLAKE2b-256 f4bee9373a49c8a4a8a124e8a4610c68e4bcfee9c756deee23c2521e882f01cf

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 21d8bee40590e59bfdbb675ca9c6a6f39fb978f57e278690982098bfbf168736
MD5 b99137944df8694c29e59977b282c633
BLAKE2b-256 afe4eabcaf9498924256fd271a9ce02784798f8b775fab3763f14487f2d8bac3

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e09f6de77a9e3518cf453f3ada087a407d5eceb765bd0d6bebf28f7c1d2b7b25
MD5 7d9948ebb9f61797d08074e1b17cafb6
BLAKE2b-256 5ec2f34c50fa985e45cce7a49a4db94135222804ee495acbe416747c41d01cf9

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 538c2034e2f1dafe862d900d3df0501924d72e4507abf8c98d20c77e1e50478f
MD5 3001c07f2068a12ef0b8716f19efb0cc
BLAKE2b-256 fb1c26dcda953861e4b713c6d2c7d65e2eea8e8c6d5ae1a91cf4476e026aa869

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 483917cfd2e88ba530f3f12460cb15fc4bb15cc7d3c2f7c6c3559c9ea6b819be
MD5 ab358fa70d05c2a327a8c9b06b982172
BLAKE2b-256 91052b5e01a5b6b293a9741269f4ccab12f8aae63238cbf180de587eca0eedce

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7a11cc6c0108ad2841d40727d65708d15a632ef77518d1b50cbdf2faaa767515
MD5 76c3dcfb02a053a7fbede7a086271baf
BLAKE2b-256 d4be0e0b86ce9d546dd3178f70ef372c0c8cca5c9f4e8614e89bf2c82243045b

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 989483270af2e50ad35b28756d55923a10cacbf5729ddd5aa5972b123eb786fe
MD5 7c3f67092ba04b371146735c2c0970ab
BLAKE2b-256 c6212d97e239eea4ae2f08b900b74aeed041c4423ad47d4ea7c9c0a89b59c155

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4c11840dd82d7c4859eb04d733f642bc48ec1716a055f2f63a08c78f1142b4ed
MD5 846eacceba179b62c65e405e8923eeee
BLAKE2b-256 fdf3dc74f2f540ffe279e6c1cedd72a471c3993266f16c64003e76134d2f9a98

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: scikit_recommender-0.1.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 378.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using 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

File hashes

Hashes for scikit_recommender-0.1.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 5feac6c05c6f5911279231c455f8adea713b4c93d0def75c4d0fdeb2a31678c3
MD5 a8b42509665fa7429e6a82eff5ab1c31
BLAKE2b-256 67655a304ea6581302d69b693bcbdb52d5fd0f385009768c90730ea4a1238055

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scikit_recommender-0.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9ff9ed99f36c332324fbc56f9d4125d5d3f5a6df1d41513f0336eef5f548d91
MD5 67de780bb510f8500925859cfd7b87cc
BLAKE2b-256 edf19dc30d30f03d25d331a9da85663228140f41e293b69551d31144d36b56af

See more details on using hashes here.

File details

Details for the file scikit_recommender-0.1.1-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

  • Download URL: scikit_recommender-0.1.1-cp36-cp36m-macosx_10_14_x86_64.whl
  • Upload date:
  • Size: 381.0 kB
  • Tags: CPython 3.6m, macOS 10.14+ x86-64
  • Uploaded using 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

File hashes

Hashes for scikit_recommender-0.1.1-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 70a602cf144747e2052ac6e8c38713a025e01f1152caeabebd8be81572e60df7
MD5 b52e4f219bd83f677ba6e667a1c76553
BLAKE2b-256 bba0f6056dae9db8b1f41cb72d6017e1f82565d597f10108ca47fa74f297d992

See more details on using hashes here.

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