Skip to main content

Tool for the analysis and evaluation of Learning to Rank models based on ensembles of regression trees.

Project description

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

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

rankeval-0.8.2.tar.gz (2.3 MB view details)

Uploaded Source

Built Distributions

rankeval-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

rankeval-0.8.2-cp37-cp37m-manylinux1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.7m

rankeval-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

rankeval-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

rankeval-0.8.2-cp36-cp36m-manylinux1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.6m

rankeval-0.8.2-cp36-cp36m-macosx_10_7_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.6m macOS 10.7+ x86-64

rankeval-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

rankeval-0.8.2-cp35-cp35m-manylinux1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.5m

rankeval-0.8.2-cp35-cp35m-macosx_10_6_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.5m macOS 10.6+ x86-64

rankeval-0.8.2-cp34-cp34m-manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.4m manylinux: glibc 2.12+ x86-64

rankeval-0.8.2-cp34-cp34m-manylinux1_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.4m

rankeval-0.8.2-cp27-cp27mu-manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 2.7mu manylinux: glibc 2.12+ x86-64

rankeval-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl (3.2 MB view details)

Uploaded CPython 2.7mu

rankeval-0.8.2-cp27-cp27m-manylinux2010_x86_64.whl (3.4 MB view details)

Uploaded CPython 2.7m manylinux: glibc 2.12+ x86-64

rankeval-0.8.2-cp27-cp27m-manylinux1_x86_64.whl (3.2 MB view details)

Uploaded CPython 2.7m

rankeval-0.8.2-cp27-cp27m-macosx_10_7_x86_64.whl (2.5 MB view details)

Uploaded CPython 2.7m macOS 10.7+ x86-64

File details

Details for the file rankeval-0.8.2.tar.gz.

File metadata

  • Download URL: rankeval-0.8.2.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2.tar.gz
Algorithm Hash digest
SHA256 c7d71602ab7fe0a0281976c1f0e883cb16431f72e4e946e5fd83790449bb21a9
MD5 f4991931cedbadda49bd9c142d749189
BLAKE2b-256 79a7436c3492eb252df3a3747fa675e5781bc7c89c56e508ecbaf3b2c79f1e54

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 acd2eea3489d19625cb04c659168d4dc32e7410b7a0fa82d8a376e2b7d44a366
MD5 bd79b63ed9d2feed4485a7530a4d7f71
BLAKE2b-256 6da6c75c36e4954c9ff344d66fa013feb46a9a8fc23c76f859f21248728e6d73

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.7m
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e2f023b27c355381c28ac95f45533d845a4ff5f54024252130be60bdcc9cabdd
MD5 0e220327c9add08e2d029373ddf500ae
BLAKE2b-256 c3c21e1b720f12297474a184ac4f79956d7ee01c3dde98ad3c69610b0b4affd8

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e0aaad4ffc8ed13c4667a63999fe1b49cebc499dfaa4ba34a6dcf2ee9fa80ef
MD5 274b6f7be774d7e888b62f76ba5c0f3e
BLAKE2b-256 1d87fc1eb2712d9fb9568e10fe75720f83ab9ab4bf47fbcfc6c7bc55cd989f77

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 fc795f8f2460d288e18ac915ef399b0c3ea96320c3e241f94893713e1542701a
MD5 647fd93732907a26e00c32853a00d34c
BLAKE2b-256 4329a177bba1a5e1e7d3da583c9a182f87c7e317259be252d13d096d9c634805

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.6m
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b884ac81bb817fbedcc24745a8804adc53cdd06410f543563bb9a2dad9b74c92
MD5 d5347782549b5e655e3282a12765faec
BLAKE2b-256 8ceb3d90e46650a265d4228a5ae884c318cf5842e75ae00ee9ef3d2574ba3169

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp36-cp36m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp36-cp36m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.6m, macOS 10.7+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp36-cp36m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 93c1e4629769c7d369d5fb079a09575b0b718326756b37b4872be37e2d144aa2
MD5 2db561f13380ad9caf5050bfa0e2c07f
BLAKE2b-256 ff5d868bb1570c38e6402afb5d6d11f32256b614ab6b664081a47aa780c13ca1

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ef89f629769f951390916985497ee0bbfb0bc8446778ae3f6ce220ace78a9c26
MD5 4c3bf1c18a3542dda22284c517db30fd
BLAKE2b-256 61d46289cf7f393e83aac34a2d2b50cc5f3219330b33e8c8cff71e20cf85e5ac

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.5m
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7476f573c37b00a218f483a49fe43b3de7c9f1fcb8b225331e0d69057c31eff6
MD5 76088a0e4f41c6cbef218f7455553f28
BLAKE2b-256 d53b78250d0271780770159e01252d0f32049dc49ea107d6e670f3c339b5ab04

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp35-cp35m-macosx_10_6_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp35-cp35m-macosx_10_6_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.5m, macOS 10.6+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp35-cp35m-macosx_10_6_x86_64.whl
Algorithm Hash digest
SHA256 d9c94912746e7964446f09ab90c7b924035bd9a5edac2520f5c21d943f46e1cc
MD5 633ded53dbf05a40f4729441ac54cde3
BLAKE2b-256 5f56c7f55bf8fef70ffc20e3fa5a891b6c8b14c4313ba2aa07e5856e3ee3a5a9

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp34-cp34m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp34-cp34m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.4m, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp34-cp34m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 07702ec02291e162f067bd92989093a98b903518db168cc28baa3ed2bb76d4a3
MD5 1b77c18647637a2e2a15508e31c3a001
BLAKE2b-256 60ddf05e0d78dcbfb3c86c01add5aeda6d287015fddc4ed49b9c77d18ae1060c

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.4m
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 34530c06bbfd3c2af519b144172b64cba76d318d99de1a4c3ad5fc84dae464d3
MD5 bdbdc71fd508133881875c830bc8dbde
BLAKE2b-256 f13664a3a6ae869ea48b3519bfb86de2f2cab41eed0084377684b65fb5c687a2

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp27-cp27mu-manylinux2010_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp27-cp27mu-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 2.7mu, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 e1a08443052bc2129f7bfbb03089d00dcece1a7b9f711ccfe2b43c642c1bb8cc
MD5 cad0d8d15f91bf04e2af183b41649604
BLAKE2b-256 c1078bd85685dcdec32ccfefadefd2da8d6fa1b4da9bf71de2223e545231679a

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 2.7mu
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 83de20d48b178f308bfde51412a683831b4bc826792c8de8de3f8335220e0fde
MD5 a386cedac34e016a087a1d003405da7c
BLAKE2b-256 96497f874d701b4b478d64ee784a4626f9eaf77205b0adb062b2479bf8eae89d

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp27-cp27m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp27-cp27m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 2.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 74622e1148192180127f88c50a08d777887e8bc6b5328832390c1e8517feaa99
MD5 d1721a12f0953cea527fff056511e4e8
BLAKE2b-256 52fa0d50f47f5d8c516ae0dac0da58a47cfd3f64b7e7362ce57f0d2ded486f0b

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 2.7m
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 574f1c03f27718016e90189510271c693eaa4131b70d033fb2b6a468b11e10d8
MD5 356eb3c441ec4aa6abe0977183301212
BLAKE2b-256 acdea5844fab98908e713268b718b32d05318f7ccd7734c155092e81ca40c3b9

See more details on using hashes here.

File details

Details for the file rankeval-0.8.2-cp27-cp27m-macosx_10_7_x86_64.whl.

File metadata

  • Download URL: rankeval-0.8.2-cp27-cp27m-macosx_10_7_x86_64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 2.7m, macOS 10.7+ x86-64
  • Uploaded using 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

File hashes

Hashes for rankeval-0.8.2-cp27-cp27m-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 bb25660ae03925dce7ab24594bbb0eb9cf056189acec442bf7f46cb8620fad50
MD5 0118b4ff23f488a39afba4de22fb2c51
BLAKE2b-256 d083cd8d83bff4b74fbc10d7838e7542f9cbd5bff0ce3b8d9497b7fad90a2d80

See more details on using hashes here.

Supported by

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