Tools for recommendation systems development
Project description
ml-recsys-tools
Open source repo for various tools for recommender systems development work. Work in progress.
Main purpose is to provide a single API for various recommender packages to train, tune, evaluate and get data in and recommendations / similarities out.
Recommender models and tools:
-
LightFM package based recommender.
-
Spotlight package based implicit recommender.
-
Implicit package based ALS recommender.
-
Serving / Tuning / Evaluation features added for most recommenders:
- Dataframes for all inputs and outputs
- adding external features (for LightFM hybrid mode)
- early stopping fit (for iterative models: LightFM, ALS, Spotlight)
- hyperparameter search
- fast batched methods for:
- user recommendation sampling
- similar items samplilng with different similarity measures
- similar users sampling
- evaluation by sampling and ranking
- Dataframes for all inputs and outputs
-
Additional recommender models:
-
Similarity based:
- cooccurence (items, users)
- generic similarity based (can be used with external features)
-
-
Ensembles:
- subdivision based (multiple recommenders each on subset of data - e.g. geographical region):
- geo based: simple grid, equidense grid, geo clustering
- LightFM and cooccurrence based
- combination based - combining recommendations from multiple recommenders
- similarity combination based - similarity based recommender on similarities from multiple recommenders
- cascade ensemble
- subdivision based (multiple recommenders each on subset of data - e.g. geographical region):
-
Interaction dataframe and sparse matrix handlers / builders:
- sampling, data splitting,
- external features matrix creation (additional item features), with feature engineering: binning / one*hot encoding (via pandas_sklearn)
- evaluation and ranking helpers
- handlers for observations coupled with external features and features with geo coordinates
- mappers for geo features, observations, recommendations, similarities etc.
-
Evaluation utils:
- score reports on lightfm metrics (AUC, precision, recall, reciprocal)
- n-DCG, and n-MRR metrics, n-precision / recall
- references: best possible ranking and chance ranking
-
Utilities:
- hyperparameter tuning utils (by skopt)
- similarity calculation helpers (similarities, dot, top N, top N on sparse)
- parallelism utils
- sklearn transformer extenstions (for feature engineering)
- google maps util for displaying geographical data
- logging, debug printouts decorators and other isntrumentation and inspection tools
- pandas utils
- data helpers: redis, s3
-
Examples:
- a basic example on movielens 1M demonstrating:
- basic data ingestion without any item/user features
- LightFM recommender: fit, evaluation, early stopping, hyper-param search, recommendations, similarities
- Cooccurrence recommender
- Two combination ensembles (Ranks and Simils)
- a basic example on movielens 1M demonstrating:
-
Still to add:
- add example in README.MD
- add and reorganize examples
- much more comments and docstrings
- more tests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ml_recsys_tools-0.5.0.tar.gz
(39.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ml_recsys_tools-0.5.0.tar.gz.
File metadata
- Download URL: ml_recsys_tools-0.5.0.tar.gz
- Upload date:
- Size: 39.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95bbb3fb2f1026c17d1cf6ff350956bfeb6d5dcb722defb6e58200dab988a8bc
|
|
| MD5 |
2b414f8a881950d59c791fafb0f7985e
|
|
| BLAKE2b-256 |
d0f18483bca244ff36257a8d8e9bb69f9a35d5ba3b390f01d4e67039a56f3fc1
|
File details
Details for the file ml_recsys_tools-0.5.0-py3-none-any.whl.
File metadata
- Download URL: ml_recsys_tools-0.5.0-py3-none-any.whl
- Upload date:
- Size: 51.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c04292fd0c95b5d5aa4377d014ab3794ad04806a5a216488efd99fe4f497db2
|
|
| MD5 |
0eb8301dc2824686ad3c1b7b31d2491f
|
|
| BLAKE2b-256 |
502e585f79446162ec1f3bb40990be58fbf3c4dc35fd499b75bcf6eee1205213
|