I want to find more materials of lambdarank and find it not in python examples. I see the 'exe' exmpale about it and find the training data format is libsvm. Can dataframe be suitable to lambdarank?
yes.
I see the example of lambdarank and find the data format is almost "label qid:$id $feaid:$feavalue … #description" which is different from the example of lightgbm's lambdarank. How to understand the rank.train or rank.test file without qid:$id? How to understand the predicitons like "0.26435133365037472、0.20650814382479751、-0.007454471069208085 …" when execute the task of prediction?
you should specify your query data like https://github.com/Microsoft/LightGBM/blob/master/docs/Parameters.md#query-data.
It's said that "If name of data file is "train.txt", the query file should be named as "train.txt.query" and in same folder of training data. LightGBM will load the query file automatically if it exists." so I don't need specify the query file when I have the "train.txt.query" file.
However I still can't understand the result of prdicitons like "0.26435133365037472、0.20650814382479751、-0.00745447106920808".
it's for c++ version, for python, here is an example: https://github.com/Microsoft/LightGBM/blob/master/tests/python_package_test/test_sklearn.py#L55.
I am not 100% sure about lambdarank. I think the predicitons within one query can be ranked according to the result. It will be more clear if you have a concrete example.
The predictions results are the relevant scores. (Higher = better) .
For the python-package, you should set group for the lambdarank tasks.