RecTools Versions Save

RecTools - library to build Recommendation Systems easier and faster than ever before

v0.5.0

1 month ago

✨ Highlights ✨

Visualization app is now here! See our extended example for cool interactive Jupyter widgets.
Also we introduced EASE model and a new popularity bias metric AvgRecPopularity.

All updates

Added

  • VisualApp and ItemToItemVisualApp widgets for visual comparison of recommendations (#80, #82, #85, #115)
  • Methods for conversion Interactions to raw form and for getting raw interactions from Dataset (#69)
  • AvgRecPopularity (Average Recommendation Popularity) to metrics (#81)
  • Added normalized parameter to AvgRecPopularity metric (#89)
  • Added EASE model (#107)

Changed

  • Loosened pandas, torch and torch-light versions for python >= 3.8 (#58)

Fixed

  • Bug in Interactions.from_raw method (#58)
  • Mistakes in formulas for Serendipity and MIUF in docstrings (#115)
  • Examples reproducibility on Google Colab (#115)

v0.4.2

5 months ago

Added

  • Ability to pass internal ids to recommend and recommend_to_items methods and get internal ids back (#70)
  • rectools.model_selection.cross_validate function (#71, #73)

Changed

  • Loosened lightfm version, now it's possible to use 1.16 and 1.17 (#72)

Fixed

  • Small bug in LastNSplitter with incorrect i_split in info (#70)

v0.4.1

6 months ago

Summary

  • Enhanced examples
  • Optimised DSSM inference
  • Updated high border of attrs version to 24.0.0

All updates

Added

  • LightFM wrapper inference speed benchmark (#60)
  • iALS with features quality benchmark (#60)

Changed

  • Updated attrs version (#56)
  • Optimized inference for vector models with EUCLIDEAN distance using implicit library topk method (#57)
  • Changed features processing example (#60)

v0.4.0

6 months ago

✨ Highlights ✨

We have much simplified RecTools installation with pip and poetry. If you faced problems before, we recommend to try version 0.4.0 and above

  • [Breaking] Bumped implicit from 0.4.4 to ^0.7.1
  • [Breaking] Moved nmslib and lightfm to extras. Renamed nn extra to torch
  • [Breaking] Improved TimeRangeSplitter interface: no need for pre-computing fold borders any more
  • New metrics:MRR, F1Beta, MCC
  • New splitters for cross-validation:RandomSplitter, LastNSplitter
  • Significantly optimized inference speed for latent factors models (iALS, LightFM, PureSVD)
  • Python 3.10 support 🎉

All updates

Added

  • MRR (Mean Reciprocal Rank) to metrics (#29)
  • F1beta, MCC (Matthew correlation coefficient) to metrics (#32)
  • Base Splitter class to construct data splitters (#31)
  • RandomSplitter to model_selection (#31)
  • LastNSplitter to model_selection (#33)
  • Support for Python 3.10 (#47)

Changed

  • Bumped implicit version to 0.7.1 (#45)
  • Bumped lightfm version to 1.17 (#43)
  • Bumped pylint version to 2.17.6 (#43)
  • Moved nmslib to extras (#36)
  • Moved lightfm to extras (#51)
  • Renamed nn extra to torch (#51)
  • Optimized inference for vector models with COSINE and DOT distances using implicit library topk method (#52)
  • Changed initialization of TimeRangeSplitter (instead of date_range argument, use test_size and n_splits) (#53)
  • Changed split infos key names in splitters (#53)

Fixed

  • Bugs with new version of pytorch_lightning (#43)
  • pylint config for new version (#43)
  • Cyclic imports (#45)

Removed

  • Markdown dependancy (#54)

v0.3.0

1 year ago
  • Optimized IdMap. In the new version internal ids are not sorted.
  • Significantly optimized TimeRangeSplit. Renamed to TimeRangeSplitter. Changed interface.
  • Fixed bug in MAP metric calculation.

v0.2.0

1 year ago

v0.1.0

1 year ago

v0.0.3

1 year ago

First release

Base library version