Releases: MobileTeleSystems/RecTools
Releases · MobileTeleSystems/RecTools
0.7.0
✨ Highlights ✨
- Interactive
MetricsAppwidget is now here! Extremely useful for metrics trade-off analysis. Has options to color models on plot based on their hyper-params. Check screenshots in cross-validation example. - A lot of new metrics: recommendations DQ, PartilAUC based ranking metrics, recommendations intersection between multiple models, r-precision. All computations are highly optimized and fully compatible with
cross_validate - Theory & Practice RecSys Baselines Extended Tutorial
All updates
Added
- Extended Theory&Practice RecSys baselines tutorial (#139)
MetricsAppto create plotly scatterplot widgets for metric-to-metric trade-off analysis (#140, #154)Intersectionmetric (#148)PartialAUCandPAPmetrics (#149)- New params (
tol,maxiter,random_state) to thePureSVDModel(#130) - Recommendations data quality metrics:
SufficientReco,UnrepeatedReco,CoveredUsers(#155) r_precisionparameter toPrecisionmetric (#155)
Fixed
- Used
rectools-lightfminstead of purelightfmthat allowed to install it using poetry>=1.5.0 (#165) - Added restriction to
pytorchversion for MacOSX + x86_64 that allows to install it on such platforms (#142) PopularInCategoryModelfitting for multiple times,cross_validatecompatibility, behaviour with empty category interactions (#163)
0.6.0
✨ 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
ModelBaseand 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_factorsanddeterministicparams toDSSMModel(#122) - Hit Rate metric (#124)
- Python
3.11support (withoutnmslib) (#126) - Python
3.12support (withoutnmslibandlightfm) (#126)
Changed
- Changed the logic of choosing random sampler for
RandomModeland 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_warmparameter inDataset.get_user_item_matrixto pairinclude_warm_usersandinclude_warm_items(#122) - [Breaking] Renamed torch datasets and
dataset_typetotrain_dataset_typeparam inDSSMModel(#122) - [Breaking] Updated minimum versions of
numpy,scipy,pandas,typeguard(#126) - [Breaking] Set restriction
scipy < 1.13(#126)
Removed
0.5.0
✨ 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
VisualAppandItemToItemVisualAppwidgets for visual comparison of recommendations (#80, #82, #85, #115)- Methods for conversion
Interactionsto raw form and for getting raw interactions fromDataset(#69) AvgRecPopularity (Average Recommendation Popularity)tometrics(#81)- Added
normalizedparameter toAvgRecPopularitymetric (#89) - Added
EASEmodel (#107)
Changed
- Loosened
pandas,torchandtorch-lightversions forpython >= 3.8(#58)
Fixed
0.4.2
Added
- Ability to pass internal ids to
recommendandrecommend_to_itemsmethods and get internal ids back (#70) rectools.model_selection.cross_validatefunction (#71, #73)
Changed
- Loosened
lightfmversion, now it's possible to use 1.16 and 1.17 (#72)
Fixed
- Small bug in
LastNSplitterwith incorrecti_splitin info (#70)
0.4.1
Summary
- Enhanced examples
- Optimised DSSM inference
- Updated high border of
attrsversion to24.0.0
All updates
Added
Changed
0.4.0
✨ 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
implicitfrom0.4.4to^0.7.1 - [Breaking] Moved
nmslibandlightfmto extras. Renamednnextra totorch - [Breaking] Improved
TimeRangeSplitterinterface: 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.10support 🎉
All updates
Added
MRR (Mean Reciprocal Rank)tometrics(#29)F1beta,MCC (Matthew correlation coefficient)tometrics(#32)- Base
Splitterclass to construct data splitters (#31) RandomSplittertomodel_selection(#31)LastNSplittertomodel_selection(#33)- Support for
Python 3.10(#47)
Changed
- Bumped
implicitversion to0.7.1(#45) - Bumped
lightfmversion to1.17(#43) - Bumped
pylintversion to2.17.6(#43) - Moved
nmslibto extras (#36) - Moved
lightfmto extras (#51) - Renamed
nnextra totorch(#51) - Optimized inference for vector models with COSINE and DOT distances using
implicitlibrary topk method (#52) - Changed initialization of
TimeRangeSplitter(instead ofdate_rangeargument, usetest_sizeandn_splits) (#53) - Changed split infos key names in splitters (#53)
Fixed
- Bugs with new version of
pytorch_lightning(#43) pylintconfig for new version (#43)- Cyclic imports (#45)
Removed
Markdowndependancy (#54)
Release v0.3.0
- Optimized
IdMap. In the new version internal ids are not sorted. - Significantly optimized
TimeRangeSplit. Renamed toTimeRangeSplitter. Changed interface. - Fixed bug in
MAPmetric calculation.
Public release
Merge pull request #14 from MobileTeleSystems/release/0.2.0 bumped version to 0.2.0
Alpha release
Merge pull request #7 from MobileTeleSystems/release/0.1.0 bumped version
RecTools 0.0.3
First release
Base library version