Skip to main content
                    *///////////////.
                 //////////////////////*
               */////////////////////////.
              ////////////// */////////////
              /////////*          /////////
             //////   /////   ////,   /////
              ////////     ///    /////////
              /////   /////  ./////   ////*
               ,////                 ////
                 *////             ////.
                     ///////*///////

░█████╗░██╗░░░██╗████████╗██████╗░░█████╗░███╗░░██╗██╗░░██╗
██╔══██╗██║░░░██║╚══██╔══╝██╔══██╗██╔══██╗████╗░██║██║░██╔╝
██║░░██║██║░░░██║░░░██║░░░██████╔╝███████║██╔██╗██║█████═╝░
██║░░██║██║░░░██║░░░██║░░░██╔══██╗██╔══██║██║╚████║██╔═██╗░
╚█████╔╝╚██████╔╝░░░██║░░░██║░░██║██║░░██║██║░╚███║██║░╚██╗
░╚════╝░░╚═════╝░░░░╚═╝░░░╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚══╝╚═╝░░╚═╝

CI - package CI - benchmark CI - selftest Unit tests

TLDR

The design of modern recommender systems relies on understanding which parts of the feature space are relevant for solving a given recommendation task. However, real-world data sets in this domain are often characterized by their large size, sparsity, and noise, making it challenging to identify meaningful signals. Feature ranking represents an efficient branch of algorithms that can help address these challenges by identifying the most informative features and facilitating the automated search for more compact and better-performing models (AutoML). We introduce OutRank, a system for versatile feature ranking and data quality-related anomaly detection. OutRank was built with categorical data in mind, utilizing a variant of mutual information that is normalized with regard to the noise produced by features of the same cardinality. We further extend the similarity measure by incorporating information on feature similarity and combined relevance.

Getting started

Minimal examples and an interface to explore OutRank's functionality are available as the docs.

Contributing

  1. Make sure the functionality is not already implemented!
  2. Decide where the functionality would fit best (is it an algorithm? A parser?)
  3. Open a PR with the implementation

Bugs and other reports

Feel free to open a PR that contains:

  1. Issue overview
  2. Minimal example useful for replicating the issue on our end
  3. Possible solution

Citing this work

If you use or build on top of OutRank, feel free to cite:

@inproceedings{10.1145/3604915.3610636,
author = {Skrlj, Blaz and Mramor, Bla\v{z}},
title = {OutRank: Speeding up AutoML-Based Model Search for Large Sparse Data Sets with Cardinality-Aware Feature Ranking},
year = {2023},
isbn = {9798400702419},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3604915.3610636},
doi = {10.1145/3604915.3610636},
abstract = {The design of modern recommender systems relies on understanding which parts of the feature space are relevant for solving a given recommendation task. However, real-world data sets in this domain are often characterized by their large size, sparsity, and noise, making it challenging to identify meaningful signals. Feature ranking represents an efficient branch of algorithms that can help address these challenges by identifying the most informative features and facilitating the automated search for more compact and better-performing models (AutoML). We introduce OutRank, a system for versatile feature ranking and data quality-related anomaly detection. OutRank was built with categorical data in mind, utilizing a variant of mutual information that is normalized with regard to the noise produced by features of the same cardinality. We further extend the similarity measure by incorporating information on feature similarity and combined relevance. The proposed approach’s feasibility is demonstrated by speeding up the state-of-the-art AutoML system on a synthetic data set with no performance loss. Furthermore, we considered a real-life click-through-rate prediction data set where it outperformed strong baselines such as random forest-based approaches. The proposed approach enables exploration of up to 300\% larger feature spaces compared to AutoML-only approaches, enabling faster search for better models on off-the-shelf hardware.},
booktitle = {Proceedings of the 17th ACM Conference on Recommender Systems},
pages = {1078–1083},
numpages = {6},
keywords = {Feature ranking, massive data sets, AutoML, recommender systems},
location = {Singapore, Singapore},
series = {RecSys '23}
}

@article{krlj2023DrifterEO,
  title={Drifter: Efficient Online Feature Monitoring for Improved Data Integrity in Large-Scale Recommendation Systems},
  author={Bla{\vz} {\vS}krlj and Nir Ki-Tov and Lee Edelist and Natalia Silberstein and Hila Weisman-Zohar and Bla{\vz} Mramor and Davorin Kopic and Naama Ziporin},
  journal={ArXiv},
  year={2023},
  volume={abs/2309.08617},
  url={https://api.semanticscholar.org/CorpusID:262045065}
}

Release files for outrank 0.97.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for outrank 0.97.5
File Size Uploaded
outrank-0.97.5.tar.gz 49.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for outrank 0.97.5
File Interpreter ABI Platform
outrank-0.97.5-py3-none-any.whl Python 3 none any Details

Total release size: 105.7 kB

Release files / outrank-0.97.5.tar.gz

Download URL outrank-0.97.5.tar.gz
Size 49.2 kB
Tags Source
SHA-256 checksum
How to use checksums
de314ac77478702b41071583c5fca02e7a93a1618f263c0b2cdba97b9e5e8ab2
BLAKE2b-256 checksum
How to use checksums
f1f1ec950bb7b06a1678a11839df46f2ad030432f13315a034fbacc0945c6172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Release files / outrank-0.97.5-py3-none-any.whl

Download URL outrank-0.97.5-py3-none-any.whl
Size 56.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e7b26c82d57a040feb1c671a8e15cc9f7901e1dcc401c8548d4abebadf573cc8
BLAKE2b-256 checksum
How to use checksums
f81333c2fdac46a805fcaff0b3245cd00719ed77a1146e796b0ed1d11ee452c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Release history Release notifications | RSS feed

This release

0.97.5 This release

2 release files

0.97.4

2 release files

0.97.3

2 release files

0.97.2

2 release files

0.97.1

2 release files

0.96.1

2 release files

0.96.0

1 release file

0.95.8

1 release file

0.95.7

1 release file

0.95.6

1 release file

0.95.5

1 release file

0.95.4

1 release file

0.95.3

1 release file

0.95.2

1 release file

0.95.1

1 release file

0.95

1 release file

0.94.2

1 release file

0.94

1 release file

0.93

1 release file

0.92

1 release file

0.91

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page