Releases: lenskit/lkpy
Fix RMSE bug + temporal split
What's Changed
- Add fractional temporal splitting by @mdekstrand in #628
- don't crash on empty lists in RMSE by @mdekstrand in #629
Full Changelog: v2025.1.1b6...v2025.1.1b7
Now with a command line!
This adds an initial LensKit command-line utility and some small quality-of-life bits.
What's Changed
- Add utility function to load seeds from configuration files by @mdekstrand in #625
- Add Markdown dataset statistics by @mdekstrand in #626
- Add LensKit CLI tool and move data tools into it by @mdekstrand in #627
Full Changelog: v2025.1.1b5...v2025.1.1b6
Fix obscure user-KNN bug
This fixes some bugs when the rating data is float64. This is not triggered by usual pathways, but some nonstandard data loading logic may activate it.
What's Changed
- Test and fix components when input ratings are doubles by @mdekstrand in #630
Full Changelog: v2025.1.1b7...v2025.1.1.b8
Small user-user bug fix
Fix for a small type error in user-user CF, found by a student.
Fourth beta - training config and splitting
This includes some small fixes and improvements:
- upper bound on temporal split
- popularity metric
- better CUDA configuration
- better iterative training logging
What's Changed
- [MINOR:fix link] Update README.md by @cakiki in #621
- Add a popularity metric by @mdekstrand in #622
- add upper bound for global temporal split by @mdekstrand in #623
New Contributors
Full Changelog: v2025.1.1b3...v2025.1.1b4
Third beta
Mostly documentation fixes, plus some consistency work on model configuration.
Second beta
Second beta release, with working MovieLens full content data loaders and dataset attributes.
Beta — let others start using the code
There are a few more things to add and test before rolling 2025.1, but with the new data model changes I'm going to call it betea.
What's Changed
- Separate PipelineBuilder from Pipeline and update run api by @mdekstrand in #606
- Re-add unnormalized DCG metric by @mdekstrand in #608
- Add ARM and Windows vanilla Python to CI runs by @mdekstrand in #609
- Implement data set builders and the new entity/relationship model by @mdekstrand in #610
- Simplify training history components with new dataset by @mdekstrand in #612
- Make vocabularies immutable and stop using copy() by @mdekstrand in #611
- Tweaks for live class demo by @mdekstrand in #613
Full Changelog: v2025.0.0a6...v2025.1.0b1
Small component typing update
This is a very small bump that adds better component base class typing.
What's Changed
- Update component configuration type warnings by @mdekstrand in #603
Full Changelog: v2025.0.0a5...v2025.0.0a6
Alpha 5: configuration
Mostly changes around the component API:
- use Pydantic models for configuration
- update Trainable interface to take training options
- add iterative training interface
What's Changed
- Use Pydantic models for component configurations by @mdekstrand in #596
- Re-add return type variable for Component by @mdekstrand in #598
- Migrate HPF to configuration object and fix BiasConfig serialization by @mdekstrand in #600
- Move Trainable interface and add TrainingOptions by @mdekstrand in #599
- Add iterative training API by @mdekstrand in #601
- rename "Lenskit" to LensKit for consistency by @mdekstrand in #602
Full Changelog: v2025.0.0a4...v2025.0.0a5