MyMediaLite is a lightweight, multi-purpose library of recommender system algorithms. It addresses the two most common scenarios in collaborative filtering: rating prediction (e.g. on a scale of 1 to 5 stars), and item prediction from implicit feedback (e.g. from clicks or purchase actions). It contains dozens of recommender engines, including state-of-the-art matrix factorization methods. It also supports real-time updates to the recommender engines, storing engines to disk and reloading them again, and several evaluation measures to compare the accuracy of different recommender system methods. Three command-line programs that offer most of the functionality contained in the library are included.
| Tags | collaborative filtering recommender systems machine learning Data Mining personalization Artificial Intelligence Perl Python Ruby |
|---|---|
| Licenses | GPLv3 |
| Operating Systems | GNU/Linux Mac OS X Windows |
| Implementation | Mono .NET C# |
Recent releases


Release Notes: Important changes: fold-in support for UserKNN for item recommendation; less verbose evaluation output; and many bugfixes.


Release Notes: The release added NaiveBayes for attribute-based rating prediction, MostPopularByItemAttributes, and improvements and bugfixes in WeightedBPRMF, SigmoidCombinedAsymmetricFactorModel, and ItemKNN. A bug in the Map@k routine was fixed. Support for Million Song Dataset Challenge data was improved.


Release Notes: This release adds several new rating predictors, all of them variants of asymmetric factor models (AFMs). The new item recommender MostPopularByItemAttributes generalizes an idea presented by the organizers of the Million Song Database Challenge. There are now 27 different rating predictors and 18 different item recommenders in MyMediaLite.


Release Notes: This release adds the new rating predictor SigmoidItemAsymmetricFactorModel, improvements and bugfixes for SocialMF, speed-ups for ItemKNN rating predictors, faster writing of item recommendations, and fast (de)serialization of data sets.


Release Notes: Float (32-bit) is now used instead of double (64-bit) to store ratings and model parameters. The incremental update API now accepts several feedback events at once. A new SVD++ rating predictor was added. LogisticRegressionMatrixFactorization and MultiCoreMatrixFactorization were merged into BiasedMatrixFactorization. There were many small enhancements and fixes, and polishing.