Algorithm Summary#

LKPY provides general algorithmic concepts, along with implementations of several algorithms. These algorithm interfaces are based on the SciKit design patterns [BLB+13], adapted for Pandas-based data structures.

All algorithms implement the standard interfaces.

Basic Algorithms#

bias.Bias([items, users, damping])

A user-item bias rating prediction algorithm.

basic.PopScore([score_method])

Score items by their popularity.

basic.TopN(predictor[, selector])

Basic recommender that implements top-N recommendation using a predictor.

basic.Fallback(algorithms, *others)

The Fallback algorithm predicts with its first component, uses the second to fill in missing values, and so forth.

basic.UnratedItemCandidateSelector()

CandidateSelector that selects items a user has not rated as candidates.

basic.Memorized(scores)

The memorized algorithm memorizes socres provided at construction time.

k-NN Algorithms#

knn.UserUser(nnbrs[, min_nbrs, min_sim, ...])

User-user nearest-neighbor collaborative filtering with ratings.

knn.ItemItem(nnbrs[, min_nbrs, min_sim, ...])

Item-item nearest-neighbor collaborative filtering with ratings.

Matrix Factorization#

als.BiasedMF(features, *[, epochs, reg, ...])

Biased matrix factorization trained with alternating least squares [ZWSP08].

als.ImplicitMF(features, *[, epochs, reg, ...])

Implicit matrix factorization trained with alternating least squares [HKV08].

Add-On Packages#

See add-on algorithms for additional algorithm families and bridges to other packages.