Skip to main content

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
  • 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
  • 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)
  • Still to add:

    • add example in README.MD
    • add and reorganize examples
    • much more comments and docstrings
    • more tests

Project details


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.1.1.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ml_recsys_tools-0.5.1.1-py3-none-any.whl (53.1 kB view details)

Uploaded Python 3

File details

Details for the file ml_recsys_tools-0.5.1.1.tar.gz.

File metadata

File hashes

Hashes for ml_recsys_tools-0.5.1.1.tar.gz
Algorithm Hash digest
SHA256 1f0227a57c69d7645764f559a429eb028931ff2e64f489c357734ae45b2fc3a2
MD5 05fc7b15ad9b2a2d963ee509cea8bded
BLAKE2b-256 b33861762a45c34a32824ad9e8899d5e81863343ea3c63270ec0461d4fca1b18

See more details on using hashes here.

File details

Details for the file ml_recsys_tools-0.5.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ml_recsys_tools-0.5.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c816693bab413b9d10e3f27c407dde7bc5ec613a0951e1f691b6e661f5886c2d
MD5 e3f078dcfde69940a279409e6dbe78ee
BLAKE2b-256 4ee30e2f5e8b2826b0d4eeac47f6c56a04248db8d57ab5cd789e6d7809e9523b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page