Rescale NDCG results for different IDCG == 0 treatments
masterThe allRank implementation assumes NDCG = 1 for queries with no relevant items (where IDCG == 0), following XGBoost and LightGBM defaults.
If you need to rescale these results to reflect an NDCG = 0 treatment for blank queries, use the following formula:
avg_ndcg - (num_blank / num_all)
Below is the reference table for the number of blank queries across MSLR-WEB30K folds:
| Fold | Train (blank/all) | Test (blank/all) | Validation (blank/all) |
|---|---|---|---|
| 1 | 602 / 18919 | 189 / 6306 | 191 / 6306 |
| 2 | 587 / 18918 | 206 / 6307 | 189 / 6306 |
| 3 | 581 / 18918 | 195 / 6306 | 206 / 6307 |
| 4 | 586 / 18919 | 201 / 6306 | 195 / 6306 |
| 5 | 590 / 18919 | 191 / 6306 | 201 / 6306 |