Releases: MobileTeleSystems/RecTools
Releases · MobileTeleSystems/RecTools
0.8.0
✨ Highlights ✨
Option for debiased calculation to all of the TruePositive-based metrics (both ranking & classification). See our Debiased metrics calculation user guide for full info. Pass debias_config
during metric's initialization to enable this feature.
All updates
Added
debias_config
parameter for classification and ranking metrics.- New parameter
is_debiased
tocalc_from_confusion_df
,calc_per_user_from_confusion_df
methods of classification metrics,calc_from_fitted
,calc_per_user_from_fitted
methods of auc and rankning (MAP) metrics,calc_from_merged
,calc_per_user_from_merged
methods of ranking (NDCG, MRR) metrics. (#152) nbformat >= 4.2.0
dependency to[visuals]
extra (#169)filter_interactions
method ofDataset
(#177)on_unsupported_targets
parameter torecommend
andrecommend_to_items
model methods (#177)- Use
nmslib-metabrainz
for Python 3.11 and upper (#180)
Fixed
display()
method inMetricsApp
(#169)IntraListDiversity
metric computation incross_validate
(#177)- Allow warp-kos loss for
LightFMWrapperMode
l (#175)
Removed
- [Breaking]
assume_external_ids
parameter inrecommend
andrecommend_to_items
model methods (#177)
New contributors
0.7.0
✨ Highlights ✨
- Interactive
MetricsApp
widget 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)
MetricsApp
to create plotly scatterplot widgets for metric-to-metric trade-off analysis (#140, #154)Intersection
metric (#148)PartialAUC
andPAP
metrics (#149)- New params (
tol
,maxiter
,random_state
) to thePureSVDModel
(#130) - Recommendations data quality metrics:
SufficientReco
,UnrepeatedReco
,CoveredUsers
(#155) r_precision
parameter toPrecision
metric (#155)
Fixed
- Used
rectools-lightfm
instead of purelightfm
that allowed to install it using poetry>=1.5.0 (#165) - Added restriction to
pytorch
version for MacOSX + x86_64 that allows to install it on such platforms (#142) PopularInCategoryModel
fitting for multiple times,cross_validate
compatibility, 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
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
anddeterministic
params toDSSMModel
(#122) - Hit Rate metric (#124)
- Python
3.11
support (withoutnmslib
) (#126) - Python
3.12
support (withoutnmslib
andlightfm
) (#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 inDataset.get_user_item_matrix
to pairinclude_warm_users
andinclude_warm_items
(#122) - [Breaking] Renamed torch datasets and
dataset_type
totrain_dataset_type
param 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
VisualApp
andItemToItemVisualApp
widgets for visual comparison of recommendations (#80, #82, #85, #115)- Methods for conversion
Interactions
to raw form and for getting raw interactions fromDataset
(#69) AvgRecPopularity (Average Recommendation Popularity)
tometrics
(#81)- Added
normalized
parameter toAvgRecPopularity
metric (#89) - Added
EASE
model (#107)
Changed
- Loosened
pandas
,torch
andtorch-light
versions forpython >= 3.8
(#58)
Fixed
0.4.2
Added
- Ability to pass internal ids to
recommend
andrecommend_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 incorrecti_split
in info (#70)
0.4.1
Summary
- Enhanced examples
- Optimised DSSM inference
- Updated high border of
attrs
version 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
implicit
from0.4.4
to^0.7.1
- [Breaking] Moved
nmslib
andlightfm
to extras. Renamednn
extra totorch
- [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)
tometrics
(#29)F1beta
,MCC (Matthew correlation coefficient)
tometrics
(#32)- Base
Splitter
class to construct data splitters (#31) RandomSplitter
tomodel_selection
(#31)LastNSplitter
tomodel_selection
(#33)- Support for
Python 3.10
(#47)
Changed
- Bumped
implicit
version to0.7.1
(#45) - Bumped
lightfm
version to1.17
(#43) - Bumped
pylint
version to2.17.6
(#43) - Moved
nmslib
to extras (#36) - Moved
lightfm
to extras (#51) - Renamed
nn
extra totorch
(#51) - Optimized inference for vector models with COSINE and DOT distances using
implicit
library topk method (#52) - Changed initialization of
TimeRangeSplitter
(instead ofdate_range
argument, usetest_size
andn_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
- Optimized
IdMap
. In the new version internal ids are not sorted. - Significantly optimized
TimeRangeSplit
. Renamed toTimeRangeSplitter
. Changed interface. - Fixed bug in
MAP
metric 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