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)
| File | Size | Uploaded | |
|---|---|---|---|
| rankeval-0.8.2.tar.gz | 2.3 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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
|