Skip to content

Releases: MobileTeleSystems/RecTools

v0.6.0

13 May 15:08
6a83a9e
Compare
Choose a tag to compare

✨ Highlights ✨

  • Added support of recommendations for cold and warm users/items
  • Added support for Python 3.11 and 3.12
  • Stopped supporting Python 3.7 and old versions of some dependencies

All updates

Added

  • Warm users/items support in Dataset (#77)
  • Warm and cold users/items support in ModelBase and all possible models (#77, #120, #122)
  • Warm and cold users/items support in cross_validate (#77)
  • [Breaking] Default value for train dataset type and params for user and item dataset types in DSSMModel (#122)
  • [Breaking] n_factors and deterministic params to DSSMModel (#122)
  • Hit Rate metric (#124)
  • Python 3.11 support (without nmslib) (#126)
  • Python 3.12 support (without nmslib and lightfm) (#126)

Changed

  • Changed the logic of choosing random sampler for RandomModel and increased the sampling speed (#120)
  • [Breaking] Changed the logic of RandomModel: now the recommendations are different for repeated calls of recommend methods (#120)
  • Torch datasets to support warm recommendations (#122)
  • [Breaking] Replaced include_warm parameter in Dataset.get_user_item_matrix to pair include_warm_users and include_warm_items (#122)
  • [Breaking] Renamed torch datasets and dataset_type to train_dataset_type param in DSSMModel (#122)
  • [Breaking] Updated minimum versions of numpy, scipy, pandas, typeguard (#126)
  • [Breaking] Set restriction scipy < 1.13 (#126)

Removed

  • [Breaking] return_external_ids parameter in recommend and recommend_to_items model methods (#77)
  • [Breaking] Python 3.7 support (#126)

0.5.0

22 Mar 13:41
4e94b64
Compare
Choose a tag to compare

✨ 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)

0.4.2

01 Dec 14:24
5a7e674
Compare
Choose a tag to compare

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)

0.4.1

31 Oct 15:12
14036d9
Compare
Choose a tag to compare

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)

0.4.0

27 Oct 19:44
3b2dc65
Compare
Choose a tag to compare

✨ 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)

Release v0.3.0

12 Nov 17:53
41ac4e2
Compare
Choose a tag to compare
  • 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.

Public release

05 Aug 14:35
76c41e0
Compare
Choose a tag to compare
Merge pull request #14 from MobileTeleSystems/release/0.2.0

bumped version to 0.2.0

Alpha release

29 Jul 12:55
b719b9e
Compare
Choose a tag to compare
Merge pull request #7 from MobileTeleSystems/release/0.1.0

bumped version

RecTools 0.0.3

28 Jul 07:43
c0377e2
Compare
Choose a tag to compare

First release

Base library version