“ Rank: pairwise ” - defina o XGBoost para fazer a tarefa de classificação, minimizando a perda de pairwise
você quer dizer isso? Visto que lambdamart é uma abordagem listwise, como posso ajustá-lo à classificação listwise? incluindo commond, parâmetros e formato de dados de treinamento, e onde posso definir o lambda para lambdamart.
você poderia fazer uma breve demonstração ou introdução? Muito Obrigado!
OK eu vejo. O XGBoost suporta a realização de tarefas de classificação. No cenário de classificação, os dados são frequentemente agrupados e precisamos do arquivo de informações do
especifique tarefas de classificação. O modelo usado no XGBoost para classificação é o LambdaRank, esta função ainda não foi concluída. Atualmente, fornecemos classificação em pares.
Portanto, a aprendizagem listwise não é suportada. Qualquer plano?
use classificação: ndcg para classificação lambda com métrica ndcg
Olá, acabei de tentar usar o objetivo = ' rank: map ' e o objetivo = ' rank: ndcg ', mas nenhum deles parece funcionar. A função objetivo dos pares é realmente boa. Posso ver no código que a função objetivo do LambdaMART ainda está lá, porém não entendo por que ela não pode ser selecionada usando a API python. Obrigado.
@tqchen você pode comentar se rank:ndcg
ou rank:map
funciona para Python?
Isso precisa de esclarecimento nos documentos.
Especificamente:
está resolvido?
FWIW, " rank: ndcg " é definido aqui https://github.com/dmlc/xgboost/blob/72cd1517d6b1d145c34e13a063fadd31b507b01d/src/objective/rank_obj.cc#L331
Os documentos precisam ser atualizados.
@vatsan Parece que foi um descuido. Você pode enviar uma solicitação pull para atualizar o documento de parâmetro?
@vatsan @ Sandy4321 @travisbrady Estou adicionando todos os objetivos ao documento de parâmetro: # 3672
Comentários muito úteis
Isso precisa de esclarecimento nos documentos.
Especificamente: