Skip to content

Releases: evfro/polara

Release 0.5.0

06 Mar 14:10
Compare
Choose a tag to compare

This release introduces a major update into the evaluation pipeline, making it more flexible and convenient to use. Some of the most important new contributions are listed below:

New features

  • full support of custom test data (see Custom evaluation.ipynb notebook in the examples directory)
  • a number of held-out items per user has no longer to be fixed; if you set holdout_size attribute to some positive value below 1 the corresponding fraction of all test user items will be used as a holdout
  • various data splitting regimes are supported, such as training-only data, training+test, training+test+holdout; this is controlled by setting the corresponding values of holdout_size and test_ratio (e.g., setting to zero disables the corresponding data splitting)
  • an early version of data model class for item cold-start scenarios

Convenience functions

  • prepare_training_only method - a shortcut to perform no splitting of the data
  • set_test_data method to support custom evaluation scenarios
  • wrappers for GraphLab Create and implicit libraries
  • get_hr_score and get_mrr_score to calculate HitRate and MeanReciprocalRank

Code improvements

  • evaluate method of the RecommenderModel class is fully rewritten to make it more general
  • data splitting methods are more streamlined and easier to customize
  • several pandas deprecations are handled

New release v.0.3.5

23 Jul 18:28
Compare
Choose a tag to compare

This release contains many new features and general improvements.

Convenience functions

  • new mixins for data manipulation (e.g. for long-tail settings),
  • new convenience functions (e.g. display recommendations for specific test user or based on a set of items),

Code improvements

  • many parts of the code are rewritten to increase code readability and flexibility (sometimes with less lines of code).
  • more streamlined general workflow for bulk experiments,
  • some performance improvements for working with sparse formats,
  • other improvements related to stability, bug fixes and removing inconsistencies.

New features

  • new functionality to work with side information (create feature matrices, compute similarities),

first public release v0.3.0 - major update

29 Sep 18:20
Compare
Choose a tag to compare

New features

  • Support for custom variable to sort and split data on. It could be e.g. timestamp, in which case holdout items will be the latest items in users' sessions, not the items with max ratings or random. Particularly useful for session-based data (e.g. e-commerce).
  • Tensor model recommendations calculation (i.e. flattening along feedback mode) can be fine-tuned with various options (managed by flattener attribute and flatten_scores function of the model).
  • Rating prediction task is now also supported within tensor model.
  • Models can be evaluated not only with respect to feedback polarity, but also against different values of feedback separately (e.g. can evaluate how good a model is at recommending items with rating 5 only or how bad it is at avoiding recommendations that receive rating 2 from user; or how good a model is at predicting clicks vs purchases).

Improvements

  • Models evaluation is now more efficient in terms of both CPU and memory load.
  • Models that produce sparse recommendations (like pure item-to-item) now also handled more efficiently.

Changes

  • Preferred way of building new models now is to define slice_recommendations function instead of get_recommendations. This not only allows for more efficient computations but also makes new model construction simpler and more standardized. However, old format is also supported.
  • Many default settings now have more general values (this substitutes defaults suitable for Movielens data)