Fairreckitlib

Latest version: v1.0.0

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

Scan your dependencies

Page 2 of 3

0.3.0

Major changes
- Dropped support for the Elliot framework
- Filtering functionality
- Added pipeline configuration support

Minor changes
- Error handling in model and data pipeline
- Refactoring based on linting
- Large improvements to documentation
- Docstrings now following PEP257
- Added type annotations to functions

0.2.3

Major changes
- Added implicit-explicit rating converters
- Added ability to pass functions to experiment to run in events
Minor changes
- Various small bug fixes
- Improved comments/docstrings
- More unit tests

0.2.2

Major changes
Large scale refactor of file structure to reduce clutter
Imports referencing src are now relative

0.2.1

Major changes:
Added surprise library recommenders
Add data set pre-processing to standard format
Added extra experiment events

0.2.0

Library

Recommender System
Top level API intended for use by applications. The system owns several factories for available datasets/splitters/algorithms/metrics which are modular and extendable. Computations are done multithreaded and supports functionality for:
- Aborting an active computation
- Running a new experiment
- Validating an existing experiment for an additional number of runs

Algorithms
Base algorithm interface, divided into predictors and recommenders.
Separate factories to define available algorithms.

Elliot recommenders
- FunkSVD
- ItemKNN
- MultiVAE
- MostPop
- PureSVD
- Random
- SVDpp
- UserKNN
Implicit recommenders
- AlternatingLeastSquares
- BayesianPersonalizedRankings
- LogisticMatrixFactorization
LensKit predictors/recommenders
- Biased Matrix Factorization
- Implicit Matrix Factorization
- ItemItem KNN
- PopScore
- Random (recommender only)
- UserUser KNN
Surprise predictors
- BaselineOnly (ALS and SGD)
- CoClustering
- NMF (Non-negative Matrix Factorization)
- NormalPredictor
- SlopeOne
- SVD (Funk)
- SVDpp

Data
Abstract dataset and registry to define available sets.

Loading
Dataloaders to preprocess datasets into a standard format:
- LFM-360K
- LFM-1B

Splitting
Abstract data splitter to divide a dataset into a train and test set.
Separate factory to define available splitting methods.
- Random splitting
- Temporal splitting

Events
Centralised event dispatcher supporting multiple event listeners. Numerous events are available and categorised under:
- Configuration Parsing
- Data Pipeline
- Model Pipeline
- Evaluation Pipeline
- IO

Experiment
For both prediction and recommendation experiment, it supports:
- One or more Datasets
- One or more Algorithms
- Zero or more Metrics

Experiments can be specified using two types of configurations, which are interchangeable:
1. Python Dataclasses
2. YML file

Configurations are parsed to handle erroneous input and where possible to use defaults.

Metrics
Base evaluator interface to process supported metrics.
Separate factory to define available metrics.

LensKit evaluator
- NDCGK
- PK
- RK
- MRR
- RMSE
- MAE
Rexmex evaluator
- Item coverage
- User coverage
- Intra-list similarity
- Novelty

Pipelines
Data Pipeline
- Dataset Matrix Loading
- Dataset Train Test Splitting
Model Pipeline
- Algorithm loading with Parameters
- Algorithm training with a Train Set
- Algorithm testing with a Test Set and saving the results to a file
- User item predictions for known ratings
- User topK item recommendations
Evaluation Pipeline
- Metric loading with Parameters
- Metric evaluates the computed item results and saving it to a file

0.1.0

First release to PyPI

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.