Algorithm Summary¶
LKPY provides general algorithmic concepts, along with implementations of several algorithms. These algorithm interfaces are based on the SciKit design patterns [SKAPI], adapted for Pandasbased data structures.
All algorithms implement the standard interfaces.
Basic Algorithms¶

A useritem bias rating prediction algorithm. 

Recommend the most popular items. 

Basic recommender that implements topN recommendation using a predictor. 

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



The memorized algorithm memorizes socres provided at construction time. 
kNN Algorithms¶

Useruser nearestneighbor collaborative filtering with ratings. 

Itemitem nearestneighbor collaborative filtering with ratings. 
Matrix Factorization¶

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

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

Algorithm class implementing FunkSVD matrix factorization. 
TensorFlow¶

Biased matrix factorization model for explicit feedback, optimized with TensorFlow. 

Biased matrix factorization model for explicit feedback, optimizing both bias and embeddings with TensorFlow. 

Bayesian Personalized Ranking with matrix factorization, optimized with TensorFlow. 
External Library Wrappers¶

LensKit interface to 

LensKit interface to 

Hierarchical Poisson factorization, provided by hpfrec. 
References¶
 SKAPI
Lars Buitinck, Gilles Louppe, Mathieu Blondel, Fabian Pedregosa, Andreas Mueller, Olivier Grisel, Vlad Niculae, Peter Prettenhofer, Alexandre Gramfort, Jaques Grobler, Robert Layton, Jake Vanderplas, Arnaud Joly, Brian Holt, and Gaël Varoquaux. 2013. API design for machine learning software: experiences from the scikitlearn project. arXiv:1309.0238 [cs.LG].