This repository contains the proof of concept of ILMART, a modified version of LambdaMART to create an interpretable learning-to-rank model. Major details about the algorithms can be found in the related paper:
ILMART: Interpretable Ranking with Constrained LambdaMART
There are two main steps to install the packages
- Install a modified version of LightGBM
- Install the sample package of ILMART
The algorithm works with a modified version of LightGBM. You can download it as a submodule of this GIT repository cloning using:
git clone --recurse-submodules git://github.com/veneres/ilmart.gitThen, switch to the folder containing the installer of the python packaged:
cd LightGBM/python-packageFinally, run this command to install LightGBM (Linux and MacOS):
python setup.py installAfter having installed the modified version of LightGBM, you can install and test ILMART simply using:
pip install -e .ILMART is only a proof of concept and has been developed as a simple wrapper of LightGBM. To fit a model with ILMART you can simply run:
ilmart = Ilmart()
ilmart.fit(lgbm_params, num_boosting_rounds, train, vali)where lgbm_params are the standard LightGBM
training parameters, num_boosting_rounds are the
boosting rounds used to train the main effects and the interaction effects each, and train and vali are two
instances of rankeval datasets used during the training.
Finally, you can get the underline booster using:
ilmart.get_model()Some simple scripts to replicate the major results presented in the related paper are available inside the experiments folder.
If you use our work, please consider to cite it with:
@inproceedings{lucchese_ilmart_2022,
author = {Claudio Lucchese and
Franco Maria Nardini and
Salvatore Orlando and
Raffaele Perego and
Alberto Veneri},
title = {ILMART: Interpretable Ranking with Constrained LambdaMART},
booktitle = {{SIGIR} '22: The 45th International {ACM} {SIGIR} Conference on Research
and Development in Information Retrieval, Madrid, Spain, July
11-15, 2022},
publisher = {{ACM}},
year = {2022},
url = {https://doi.org/10.1145/3477495.3531840},
doi = {10.1145/3477495.3531840}
}