How to improve NDCG score for a learning to rank project using LightGBM?
Currently working on a school project that requires a learning to rank functionality to rank documents per query, I have trained my model with the following parameters:
objective="lambdarank",
metric="ndcg",
to be used with LGBMRanker.
Initially my NDCG scores were quite high, however by running the predicted ranking against a correct validation set from the teacher the NDCG score drops considerably (0.78 to 0.5). I tweaked my parameters to this to reduce overfitting and I've also run a series of F-score tests, mutual information tests and random forest importance from sklearn to select features. however my NDCG score is still quite low, I'm finding it difficult to predict the correct NDCG without overfitting and also to improve the accuracy of my model. current parameter I am using:
objective="rank_xendcg",
metric="ndcg",
max_bin = 63,
learning_rate = 0.03,
num_iterations = 100,
num_leaves = 31,
path_smooth = 50,
lambda_l1 = 10,
min_gain_to_split = 10