Lenskit

Latest version: v0.14.4

Safety actively analyzes 630026 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.13

Major Fixes

This release includes **two critical fixes**, for which everyone should upgrade:

- The `Bias` model's `transform` and `inverse_transform` methods were incorrect (265). These bugs did not affect `Bias` when used as a predictor or a recommender, but they did affect any model using `Bias` as a normalization step, namely the biased matrix factorizers (since version 0.11, when this API was added).
- Previous versions of LensKit did not clean up temporary files (or, on Python 3.8 and later, shared memory resources) when running parallel evaluation processes.

It also includes significant performance improvements and code to detect common problems with parallel processing configurations, and is tested on Python 3.9 and on Linux AArch64 (64-bit ARM).

Future Changes

This release deprecates two sets of APIs that will be **removed** in LensKit 0.14:

- `MultiEval` (254) - it doesn't work well for realistic projects, and simple evaluations are easy enough to write in a loop, so we will be removing `MultiEval` to reduce our maintenance burden going forward.
- RNG seed management APIs - these are replaced by [seedbank](https://seedbank.lenskit.org). In 0.13, the APIs are kept as compatibility shims for their SeedBank replacements, but we will remove them in 0.14 in favor of directly calling seedbank.

We haven't yet adopted any formal deprecation policies for LensKit, but my current tentative plan is to use this next-release cadence for nontrivial removals while we're still releasing 0.x versions; once we decide to bump to 4.x, we will use semantic versioning on all public APIs, and thus deprecations will not be enforced until the next major release.

In a future LensKit, I tentatively plan to factor out several of our bridges (TensorFlow, Implicit, HPF) into separate projects. We will keep compatibility imports for at least one 0.x release, and probably until 4.0. This will reduce the development overhead of the LensKit core.

What’s Changed

* Remove fastparquet import (266) mdekstrand
* Fix incorrect user bias transformation (265) mdekstrand
* Revise dependency specifications (264) mdekstrand
* Update deprecation notices (263) mdekstrand
* Detect problems with runtime environments (248) mdekstrand
* Add use_ratings option to ImplicitMF (245) mdekstrand
* Add 'k' support to top-N metrics (247) mdekstrand
* Further Top-N optimization updates (242) mdekstrand
* Free shared memory in parallel (243) mdekstrand
* Optimize top-N analysis (237) mdekstrand
* Add PlackettLuce stochastic ranking algorithm (241) mdekstrand
* Add PopScore algorithm for popularity-based scoring (240) mdekstrand
* Refactor ranking into a 'ranking' module (239) mdekstrand
* Enable tests on Python 3.9 (234) mdekstrand
* Deprecate MultiEval (238) mdekstrand
* Add more logging output to parallelism code (236) mdekstrand
* Add convenience prediction accuracy functions (235) mdekstrand

0.13.0

0.12.3

This actually publishes the 0.12 bump, a tagging error prevented 0.12.2 from going out.

0.12.2

This release contains the sampling function refactor (230), and documentation improvements.

0.12.1

Small bug-fix release.

What’s Changed

* Fix cloning SVD (224) mdekstrand

0.12.0

This version of LensKit splits out the CSR routines into a separate [CSR package](https://csr.lenskit.org), allowing LensKit to be a pure Python package.

This also makes a **major change** to TensorFlow BPR, using popularity-weighted negative sampling by default (this can be disabled with `neg_weight=False`), and makes our TF recommenders much faster.

What’s Changed

* Use popularity-weighted sampling in BPR by default (223) mdekstrand
* Fix TF performance (222) mdekstrand
* Update to CSR 0.2 (221) mdekstrand
* use CSR from conda-forge (220) mdekstrand
* knn: don't add item means to similarity sums (217) mdekstrand
* Use flit to build LKPY (219) mdekstrand
* Remove CSR class in favor of separate library (218) mdekstrand
* Fix tests on MacOS OpenBLAS (215) mdekstrand
* Allow scipy='coo' in sparse_ratings (214) reppertj
* Add keystone test depending on others (212) mdekstrand
* Test on multiple BLAS versions (211) mdekstrand
* Support Numba 0.52 (210) mdekstrand
* Add option to drop user features after training ALS models (209) carlos10seg
* Add tests for ALS load/save (207) mdekstrand

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.