Releases: evfro/polara
Releases · evfro/polara
Release 0.5.0
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 theexamples
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
andtest_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 dataset_test_data
method to support custom evaluation scenarios- wrappers for
GraphLab Create
andimplicit
libraries get_hr_score
andget_mrr_score
to calculate HitRate and MeanReciprocalRank
Code improvements
evaluate
method of theRecommenderModel
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
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
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 andflatten_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 ofget_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)