Scoring Models#

Most recommendation pipelines are built around a scoring model that scores items for a recommendation query (e.g., user). Standard top-N recommendation uses these scores to rank items, and they can be used as inputs into other techniques such as samplers and rerankers. Scorers are almost always Trainable, and by convention are named XYZScorer. They typically take two inputs, the query (query) and the list of items to score (items).

Scoring models are not limited to traditional pointwise scoring models such as matrix factorization. Many learning-to-rank models are also implemented as scorers, but using a model optimized with a rank-based loss function.

Baseline Scorers#

BiasScorer

A user-item bias rating prediction model. This component uses

PopScorer

Score items by their popularity. Use with TopN to get a

Classical Collaborative Filters#

ItemKNNScorer

Item-item nearest-neighbor collaborative filtering feedback. This item-item

UserKNNScorer

User-user nearest-neighbor collaborative filtering with ratings. This

SLIMScorer

Item scorer using Sparse LInear Methods (SLIM). SLIM was described for

EASEScorer

Embarrassingly shallow autoencoder

BiasedMFScorer

Biased matrix factorization trained with alternating least squares

ImplicitMFScorer

Implicit matrix factorization trained with alternating least squares

BiasedSVDScorer

Biased matrix factorization for explicit feedback using SciKit-Learn's

FunkSVDScorer

FunkSVD explicit-feedback matrix factoriation. FunkSVD is a regularized

HPFScorer

Hierarchical Poisson factorization, provided by `hpfrec`_

Utility Scorers#

These scorers are used to compose more sophisticated pipelines, usually involving multiple pipelines.

FallbackScorer

Scoring component that fills in missing scores using a fallback.