Software

Deletor: Deep Learning to Rank

Deletor is a toolkit for implementing learning to rank algorithms using deep learning similar to, and partially derived from, tensorflow_ranking. It is not as comprehensive as tensorflow_ranking, but is implemented using TensorFlow 2, which is significantly easier to work with and debug. It also includes examples that demonstrate how to achieve near state-of-the-art performance on the MSLR-Web30k dataset. At the time I started my implementation, the default examples provided by tensorflow_ranking were not competitive with current published results.

gmix: Gaussian Mixture Distributions

gmix serves two purposes:

  1. Provide a set of functions for working with univariate Gaussian Mixture distributions similar to dmixnorm of the KScorrect R package.
  2. Provide a recipe for implementing conditional density estimation (CDE) using (Gaussian) kernel methods combined with neural networks.

gmix2: Gaussian Mixture Distributions

gmix2 is a reimplementation of gmix (in C++ with Python bindings) that focuses on solely on the Gaussian distribution functions, i.e., purpose (1) above. This greatly reduces the number of project dependencies (e.g., no need for TensorFlow) and complexity. It is also slightly faster than gmix in most cases and considerably faster in a few cases.

Scrachy: Advanced Caching for Scrapy

scrachy provides some additional caching mechanisms for scrapy that easily integrate with persistent databases via sqlalchemy.