Skip to main content

Build Status Python version PyPI version Wheel CPython Implementation License DOI

RankEval: An Evaluation and Analysis Framework for Learning-to-Rank Solutions

RankEval is an open-source tool for the analysis and evaluation of Learning-to-Rank models based on ensembles of regression trees. The success of ensembles of regression trees fostered the development of several open-source libraries targeting efficiency of the learning phase and effectiveness of the resulting models. However, these libraries offer only very limited help for the tuning and evaluation of the trained models.

RankEval aims at providing a common ground for several Learning to Rank libraries by providing useful and interoperable tools for a comprehensive comparison and in-depth analysis of ranking models. Target audience is the machine learning (ML) and information retrieval (IR) communities.

RankEval is available under Mozilla Public License 2.0.

The official GitHub repository is: here.

For questions/suggestions on how to improve RankEval, send us an email: rankeval@isti.cnr.it

Features

Rankeval provides a common ground between several pre-existing tools and offers services which support the interpretation of differently generated models in a unified environment, allowing an easy, comprehensive comparison and in-depth analysis.

The main functionalities of RankEval can be summarized along five dimensions:

  • effectiveness analysis
  • feature analysis
  • structural analysis
  • topological analysis
  • interoperability among GBRT libraries
    • support the model format of the most popular learning tools such as QuickRank, RankLib, XGBoost, LightGBM, Scikit-Learn, etc

These functionalities can be applied to several models at the same time, so to have a direct comparison of the analysis performed. The tool has been written to ensure flexibility, extensibility, and efficiency.

Documentation

The official API documentation is available at: here. Soon on ReadTheDocs!

Installation

The library works with OpenMP so you need a compiler supporting it. If your machine uses a default compiler different from GNU GCC, change it appropriately before proceeding with the installation:

export CC=gcc-5
export CXX=g++-5

Moreover, RankEval needs the following libraries to be installed before the installation process begin:

  • numpy >= 1.13
  • scipy >= 0.14
  • cython >= 0.25
  • matplotlib >= 2.0.2

RankEval can be easily installed from Python Package Index (PyPI). You may download and install it by running:

pip install rankeval

Alternatively, you can build the library from source. Below an example of installation.

python setup.py install

or

pip install -e .

Development

Installation of libraries required for development (documentation generation and unittests):

pip install -e .[develop]

Local installation of compiled libraries:

python setup.py build_ext -i

Execution of unit tests:

python setup.py test

or (if you have nose already installed):

nosetests -v

Cite RankEval

If you use RankEval, please cite us!

@inproceedings{rankeval-sigir17,
  author = {Claudio Lucchese and Cristina Ioana Muntean and Franco Maria Nardini and
            Raffaele Perego and Salvatore Trani},
  title = {RankEval: An Evaluation and Analysis Framework for Learning-to-Rank Solutions},
  booktitle = {SIGIR 2017: Proceedings of the 40th International {ACM} {SIGIR}
               Conference on Research and Development in Information Retrieval},
  year = {2017},
  location = {Tokyo, Japan}
}

Credits

- Dataset loader: https://github.com/deronnek/svmlight-loader
- Query id implementation: https://github.com/mblondel/svmlight-loader/pull/6

Metadata

Release files for rankeval 0.8.2

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

Source distribution (sdist)

Source distribution for rankeval 0.8.2
File Size Uploaded
rankeval-0.8.2.tar.gz 2.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for rankeval 0.8.2
File
rankeval-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
rankeval-0.8.2-cp37-cp37m-manylinux1_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 Details
rankeval-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details
rankeval-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details
rankeval-0.8.2-cp36-cp36m-manylinux1_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 Details
rankeval-0.8.2-cp36-cp36m-macosx_10_7_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.7+ x86-64 Details
rankeval-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64 Details
rankeval-0.8.2-cp35-cp35m-manylinux1_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64 Details
rankeval-0.8.2-cp35-cp35m-macosx_10_6_x86_64.whl CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ x86-64 Details
rankeval-0.8.2-cp34-cp34m-manylinux2010_x86_64.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.12+ x86-64 Details
rankeval-0.8.2-cp34-cp34m-manylinux1_x86_64.whl CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64 Details
rankeval-0.8.2-cp27-cp27mu-manylinux2010_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.12+ x86-64 Details
rankeval-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64 Details
rankeval-0.8.2-cp27-cp27m-manylinux2010_x86_64.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.12+ x86-64 Details
rankeval-0.8.2-cp27-cp27m-manylinux1_x86_64.whl CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64 Details
rankeval-0.8.2-cp27-cp27m-macosx_10_7_x86_64.whl CPython 2.7 CPython 2.7 pymalloc macOS 10.7+ x86-64 Details

Total release size: 51.9 MB

Release files / rankeval-0.8.2.tar.gz

Download URL rankeval-0.8.2.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
c7d71602ab7fe0a0281976c1f0e883cb16431f72e4e946e5fd83790449bb21a9
BLAKE2b-256 checksum
How to use checksums
79a7436c3492eb252df3a3747fa675e5781bc7c89c56e508ecbaf3b2c79f1e54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl

Download URL rankeval-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl
Size 3.4 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
acd2eea3489d19625cb04c659168d4dc32e7410b7a0fa82d8a376e2b7d44a366
BLAKE2b-256 checksum
How to use checksums
6da6c75c36e4954c9ff344d66fa013feb46a9a8fc23c76f859f21248728e6d73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp37-cp37m-manylinux1_x86_64.whl

Download URL rankeval-0.8.2-cp37-cp37m-manylinux1_x86_64.whl
Size 3.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
e2f023b27c355381c28ac95f45533d845a4ff5f54024252130be60bdcc9cabdd
BLAKE2b-256 checksum
How to use checksums
c3c21e1b720f12297474a184ac4f79956d7ee01c3dde98ad3c69610b0b4affd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL rankeval-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl
Size 2.5 MB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4e0aaad4ffc8ed13c4667a63999fe1b49cebc499dfaa4ba34a6dcf2ee9fa80ef
BLAKE2b-256 checksum
How to use checksums
1d87fc1eb2712d9fb9568e10fe75720f83ab9ab4bf47fbcfc6c7bc55cd989f77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl

Download URL rankeval-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl
Size 3.4 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
fc795f8f2460d288e18ac915ef399b0c3ea96320c3e241f94893713e1542701a
BLAKE2b-256 checksum
How to use checksums
4329a177bba1a5e1e7d3da583c9a182f87c7e317259be252d13d096d9c634805
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp36-cp36m-manylinux1_x86_64.whl

Download URL rankeval-0.8.2-cp36-cp36m-manylinux1_x86_64.whl
Size 3.2 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b884ac81bb817fbedcc24745a8804adc53cdd06410f543563bb9a2dad9b74c92
BLAKE2b-256 checksum
How to use checksums
8ceb3d90e46650a265d4228a5ae884c318cf5842e75ae00ee9ef3d2574ba3169
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp36-cp36m-macosx_10_7_x86_64.whl

Download URL rankeval-0.8.2-cp36-cp36m-macosx_10_7_x86_64.whl
Size 2.5 MB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.7+ x86-64
SHA-256 checksum
How to use checksums
93c1e4629769c7d369d5fb079a09575b0b718326756b37b4872be37e2d144aa2
BLAKE2b-256 checksum
How to use checksums
ff5d868bb1570c38e6402afb5d6d11f32256b614ab6b664081a47aa780c13ca1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.9

Release files / rankeval-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl

Download URL rankeval-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl
Size 3.4 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
ef89f629769f951390916985497ee0bbfb0bc8446778ae3f6ce220ace78a9c26
BLAKE2b-256 checksum
How to use checksums
61d46289cf7f393e83aac34a2d2b50cc5f3219330b33e8c8cff71e20cf85e5ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp35-cp35m-manylinux1_x86_64.whl

Download URL rankeval-0.8.2-cp35-cp35m-manylinux1_x86_64.whl
Size 3.2 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
7476f573c37b00a218f483a49fe43b3de7c9f1fcb8b225331e0d69057c31eff6
BLAKE2b-256 checksum
How to use checksums
d53b78250d0271780770159e01252d0f32049dc49ea107d6e670f3c339b5ab04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp35-cp35m-macosx_10_6_x86_64.whl

Download URL rankeval-0.8.2-cp35-cp35m-macosx_10_6_x86_64.whl
Size 2.5 MB
Tags CPython 3.5 CPython 3.5 pymalloc macOS 10.6+ x86-64
SHA-256 checksum
How to use checksums
d9c94912746e7964446f09ab90c7b924035bd9a5edac2520f5c21d943f46e1cc
BLAKE2b-256 checksum
How to use checksums
5f56c7f55bf8fef70ffc20e3fa5a891b6c8b14c4313ba2aa07e5856e3ee3a5a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.5.6

Release files / rankeval-0.8.2-cp34-cp34m-manylinux2010_x86_64.whl

Download URL rankeval-0.8.2-cp34-cp34m-manylinux2010_x86_64.whl
Size 3.4 MB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
07702ec02291e162f067bd92989093a98b903518db168cc28baa3ed2bb76d4a3
BLAKE2b-256 checksum
How to use checksums
60ddf05e0d78dcbfb3c86c01add5aeda6d287015fddc4ed49b9c77d18ae1060c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp34-cp34m-manylinux1_x86_64.whl

Download URL rankeval-0.8.2-cp34-cp34m-manylinux1_x86_64.whl
Size 3.2 MB
Tags CPython 3.4 CPython 3.4 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
34530c06bbfd3c2af519b144172b64cba76d318d99de1a4c3ad5fc84dae464d3
BLAKE2b-256 checksum
How to use checksums
f13664a3a6ae869ea48b3519bfb86de2f2cab41eed0084377684b65fb5c687a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp27-cp27mu-manylinux2010_x86_64.whl

Download URL rankeval-0.8.2-cp27-cp27mu-manylinux2010_x86_64.whl
Size 3.4 MB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
e1a08443052bc2129f7bfbb03089d00dcece1a7b9f711ccfe2b43c642c1bb8cc
BLAKE2b-256 checksum
How to use checksums
c1078bd85685dcdec32ccfefadefd2da8d6fa1b4da9bf71de2223e545231679a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl

Download URL rankeval-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl
Size 3.2 MB
Tags CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
83de20d48b178f308bfde51412a683831b4bc826792c8de8de3f8335220e0fde
BLAKE2b-256 checksum
How to use checksums
96497f874d701b4b478d64ee784a4626f9eaf77205b0adb062b2479bf8eae89d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp27-cp27m-manylinux2010_x86_64.whl

Download URL rankeval-0.8.2-cp27-cp27m-manylinux2010_x86_64.whl
Size 3.4 MB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
74622e1148192180127f88c50a08d777887e8bc6b5328832390c1e8517feaa99
BLAKE2b-256 checksum
How to use checksums
52fa0d50f47f5d8c516ae0dac0da58a47cfd3f64b7e7362ce57f0d2ded486f0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp27-cp27m-manylinux1_x86_64.whl

Download URL rankeval-0.8.2-cp27-cp27m-manylinux1_x86_64.whl
Size 3.2 MB
Tags CPython 2.7 CPython 2.7 pymalloc Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
574f1c03f27718016e90189510271c693eaa4131b70d033fb2b6a468b11e10d8
BLAKE2b-256 checksum
How to use checksums
acdea5844fab98908e713268b718b32d05318f7ccd7734c155092e81ca40c3b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / rankeval-0.8.2-cp27-cp27m-macosx_10_7_x86_64.whl

Download URL rankeval-0.8.2-cp27-cp27m-macosx_10_7_x86_64.whl
Size 2.5 MB
Tags CPython 2.7 CPython 2.7 pymalloc macOS 10.7+ x86-64
SHA-256 checksum
How to use checksums
bb25660ae03925dce7ab24594bbb0eb9cf056189acec442bf7f46cb8620fad50
BLAKE2b-256 checksum
How to use checksums
d083cd8d83bff4b74fbc10d7838e7542f9cbd5bff0ce3b8d9497b7fad90a2d80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/2.7.16

Release history Release notifications | RSS feed

This release

0.8.2 This release

17 release files

0.8.1

17 release files

0.8

5 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7

2 release files

0.6.1

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