Skip to content

Algorithm Overview

The framework integrates algorithms from multiple recommendation system libraries through unified runner interfaces. Use the algorithm identifiers with the ExperimentPlan to configure experiments. Here is the comprehensive list of all available algorithms:

LensKit Algorithms

LensKit provides traditional collaborative filtering algorithms optimized for research reproducibility.

Algorithm Name Type Feedback Description
LensKit.PopScorer Baseline Both Popularity-based scorer
LensKit.ItemKNNScorer Neighborhood Both Item-based k-nearest neighbors
LensKit.UserKNNScorer Neighborhood Both User-based k-nearest neighbors
LensKit.ImplicitMFScorer Matrix Factorization Implicit Implicit feedback matrix factorization (ALS)
LensKit.BiasedMFScorer Matrix Factorization Explicit Biased matrix factorization
LensKit.FunkSVDScorer Matrix Factorization Explicit FunkSVD matrix factorization

RecPack Algorithms

RecPack provides efficient implementations of collaborative filtering algorithms with a focus on scalability and performance.

Algorithm Name Type Feedback Description
RecPack.SVD Matrix Factorization Explicit Singular Value Decomposition
RecPack.NMF Matrix Factorization Explicit Non-negative Matrix Factorization
RecPack.ItemKNN Neighborhood Both Item-based k-nearest neighbors

Elliot Algorithms

Elliot provides a comprehensive framework for reproducible recommender systems evaluation with implementations of state-of-the-art algorithms.

Baseline and Neighborhood Methods

Algorithm Name Type Feedback Description
Elliot.MostPop Baseline Both Most popular items baseline
Elliot.ItemKNN Neighborhood Both Item-based k-nearest neighbors
Elliot.UserKNN Neighborhood Both User-based k-nearest neighbors
Elliot.SlopeOne Slope One Explicit Slope One collaborative filtering

Matrix Factorization

Algorithm Name Type Feedback Description
Elliot.AMF Matrix Factorization Explicit Alternating Matrix Factorization
Elliot.BPRMF Matrix Factorization Implicit Bayesian Personalized Ranking Matrix Factorization
Elliot.BPRMF_batch Matrix Factorization Implicit BPRMF with batch processing
Elliot.FM Factorization Machine Explicit Factorization Machine
Elliot.FunkSVD Matrix Factorization Explicit FunkSVD matrix factorization
Elliot.NonNegMF Matrix Factorization Explicit Non-negative Matrix Factorization
Elliot.PureSVD Matrix Factorization Explicit Pure SVD
Elliot.SVDpp Matrix Factorization Explicit SVD++
Elliot.WRMF Matrix Factorization Implicit Weighted Regularized Matrix Factorization
Elliot.ConvMF Matrix Factorization Explicit Convolutional Matrix Factorization
Elliot.DeepFM Deep Learning Explicit Deep Factorization Machine
Elliot.DMF Matrix Factorization Explicit Deep Matrix Factorization
Elliot.GMF Matrix Factorization Explicit Generalized Matrix Factorization
Elliot.NeuMF Deep Learning Implicit Neural Matrix Factorization

Autoencoder-Based Methods

Algorithm Name Type Feedback Description
Elliot.MultiDAE Deep Learning Implicit Multi-layer Denoising Autoencoder
Elliot.MultiVAE Deep Learning Implicit Multi-layer Variational Autoencoder
Elliot.ItemAutoRec Deep Learning Explicit Item-based Autoencoder
Elliot.UserAutoRec Deep Learning Explicit User-based Autoencoder

Graph-Based Methods

Algorithm Name Type Feedback Description
Elliot.LightGCN Graph Neural Network Implicit Light Graph Convolutional Network
Elliot.NGCF Graph Neural Network Implicit Neural Graph Collaborative Filtering

RecBole Algorithms

RecBole provides a comprehensive collection of modern recommendation algorithms including deep learning and graph-based methods.

Baseline and Neighborhood Methods

Algorithm Name Type Feedback Description
RecBole.Pop Baseline Both Popularity-based recommender
RecBole.ItemKNN Neighborhood Both Item-based k-nearest neighbors
RecBole.Random Baseline Both Random recommendation baseline

Matrix Factorization

Algorithm Name Type Feedback Description
RecBole.BPR Matrix Factorization Implicit Bayesian Personalized Ranking
RecBole.FISM Matrix Factorization Implicit Factored Item Similarity Models
RecBole.NAIS Matrix Factorization Implicit Neural Attentive Item Similarity
RecBole.DMF Matrix Factorization Explicit Deep Matrix Factorization
RecBole.ENMF Matrix Factorization Implicit Efficient Neural Matrix Factorization
RecBole.NNCF Matrix Factorization Implicit Neural Network Collaborative Filtering

Deep Learning Methods

Algorithm Name Type Feedback Description
RecBole.NeuMF Deep Learning Implicit Neural Matrix Factorization
RecBole.ConvNCF Deep Learning Implicit Convolutional Neural Collaborative Filtering
RecBole.CDAE Deep Learning Implicit Collaborative Denoising Auto-Encoder
RecBole.MultiVAE Deep Learning Implicit Variational Autoencoders for Collaborative Filtering
RecBole.MultiDAE Deep Learning Implicit Denoising Autoencoders for Collaborative Filtering
RecBole.MacridVAE Deep Learning Implicit Macroscopic and Microscopic Variational Autoencoder
RecBole.RecVAE Deep Learning Implicit Variational Autoencoders for Recommendations
RecBole.DiffRec Deep Learning Implicit Diffusion Recommender Model
RecBole.LDiffRec Deep Learning Implicit Latent Diffusion Recommender Model

Graph-Based Methods

Algorithm Name Type Feedback Description
RecBole.SpectralCF Graph Neural Network Implicit Spectral Collaborative Filtering
RecBole.GCMC Graph Neural Network Explicit Graph Convolutional Matrix Completion
RecBole.NGCF Graph Neural Network Implicit Neural Graph Collaborative Filtering
RecBole.LightGCN Graph Neural Network Implicit Light Graph Convolutional Network
RecBole.DGCF Graph Neural Network Implicit Disentangled Graph Collaborative Filtering
RecBole.SGL Graph Neural Network Implicit Self-supervised Graph Learning
RecBole.NCL Graph Neural Network Implicit Neighborhood-enriched Contrastive Learning
RecBole.LINE Graph Embedding Implicit Large-scale Information Network Embedding

Linear and Optimization-Based Methods

Algorithm Name Type Feedback Description
RecBole.EASE Linear Implicit Embarrassingly Shallow Autoencoders
RecBole.SLIMElastic Linear Implicit Sparse Linear Method with ElasticNet
RecBole.ADMMSLIM Linear Implicit ADMM SLIM for Top-N Recommendation
RecBole.NCEPLRec Linear Implicit Neighborhood-based Collaborative Filtering with Pairwise Learning
RecBole.SimpleX Linear Implicit Simple and Effective Collaborative Filtering

Using Algorithms in Experiments

Reference algorithms using the format <Runner>.<Algorithm> in your experiment plan:

from omnirec.runner.plan import ExperimentPlan
from omnirec.runner.algos import LensKit, RecBole

# Create experiment plan
plan = ExperimentPlan("Algorithm-Comparison")

# Add LensKit algorithm
plan.add_algorithm(
    LensKit.ItemKNNScorer,
    {"max_nbrs": 20, "min_nbrs": 5}
)

# Add RecBole algorithm
plan.add_algorithm(
    RecBole.LightGCN,
    {"embedding_size": 64, "n_layers": 3}
)

See the Algorithm Configuration guide for detailed information on configuring algorithms and hyperparameters.